aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgvit <gvit@ydb.tech>2023-02-08 22:10:50 +0300
committergvit <gvit@ydb.tech>2023-02-08 22:10:50 +0300
commit108a09f8e8729a86f9ebe0dd891e5dfc36c66eb6 (patch)
treeda7df07adb2db6303bde2a1f825cbd103be9dd5d
parent24c4013da92b22c716790098cab1a1c3a1e657b6 (diff)
downloadydb-108a09f8e8729a86f9ebe0dd891e5dfc36c66eb6.tar.gz
suite tests: cleanup canonical files
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_1.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_2.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_3.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_4.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_5.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_1.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_10.plan80
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_11.plan82
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_12.plan80
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_13.plan80
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_14.plan84
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_2.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_3.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_4.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_5.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_6.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_7.plan80
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_8.plan80
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_9.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_1.plan337
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_2.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_3.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_4.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_5.plan151
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_1.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_2.plan237
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_3.plan235
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_4.plan205
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_5.plan182
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_1.plan164
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_10.plan161
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_11.plan151
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_12.plan238
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_13.plan199
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_14.plan196
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_15.plan153
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_16.plan176
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_2.plan166
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_3.plan169
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_4.plan160
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_5.plan254
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_6.plan442
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_7.plan241
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_8.plan243
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_9.plan161
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_1.plan173
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_10.plan168
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_11.plan186
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_12.plan187
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_13.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_14.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_2.plan179
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_3.plan179
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_4.plan170
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_5.plan172
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_6.plan167
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_7.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_8.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_9.plan168
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_1.plan274
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_10.plan292
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_11.plan292
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_12.plan288
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_2.plan172
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_3.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_4.plan180
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_5.plan88
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_6.plan88
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_7.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_8.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_9.plan288
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_1.plan161
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_2.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_3.plan155
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_4.plan210
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_5.plan289
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_6.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_7.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_8.plan140
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_1.plan234
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_10.plan84
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_11.plan84
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_12.plan84
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_13.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_2.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_3.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_4.plan254
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_5.plan210
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_6.plan336
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_7.plan172
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_8.plan157
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_9.plan157
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_1.plan115
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_10.plan84
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_11.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_12.plan117
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_13.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_14.plan151
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_15.plan81
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_16.plan81
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_17.plan83
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_18.plan114
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_19.plan86
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_2.plan89
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_20.plan114
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_21.plan86
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_22.plan86
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_23.plan86
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_24.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_25.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_26.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_27.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_3.plan86
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_4.plan87
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_5.plan87
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_6.plan87
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_7.plan87
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_8.plan115
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_9.plan89
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_1.plan110
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_2.plan110
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_3.plan110
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_4.plan118
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_5.plan114
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_1.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_10.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_11.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_12.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_13.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_14.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_15.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_16.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_17.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_18.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_19.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_2.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_20.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_21.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_22.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_23.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_24.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_25.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_26.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_27.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_28.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_29.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_3.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_30.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_31.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_32.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_33.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_34.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_35.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_36.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_37.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_38.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_39.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_4.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_40.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_41.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_42.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_43.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_44.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_45.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_5.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_6.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_7.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_8.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_9.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_1.plan132
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_2.plan110
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_3.plan110
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_4.plan109
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_5.plan148
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_6.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_7.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_1216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_1316
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_144
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_24
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_44
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_816
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_18
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_28
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_38
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_412
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_18
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_316
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_416
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_516
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_114
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_138
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_1424
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_64
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_116
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1018
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1118
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_28
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_312
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_416
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_930
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_140
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_312
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_64
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_74
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_810
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_1310
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_418
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_64
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_72
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_86
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1076
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1252
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1524
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1624
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1724
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1822
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_280
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_2022
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_376
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_476
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_576
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_680
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_780
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_8220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_980
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select_distinct.test_/query_4160
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_414
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_424
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_434
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_444
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_240
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_340
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_440
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_56
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_1.plan82
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_2.plan82
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_3.plan88
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_1.plan13
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_10.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_100.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_101.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_102.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_103.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_104.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_105.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_106.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_107.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_108.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_109.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_11.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_110.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_111.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_112.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_113.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_114.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_115.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_116.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_117.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_118.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_119.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_12.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_120.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_121.plan209
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_122.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_123.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_124.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_125.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_126.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_127.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_13.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_14.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_15.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_16.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_17.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_18.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_19.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_2.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_20.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_21.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_22.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_23.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_24.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_25.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_26.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_27.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_28.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_29.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_3.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_30.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_31.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_32.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_33.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_34.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_35.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_36.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_37.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_38.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_39.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_4.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_40.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_41.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_42.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_43.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_44.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_45.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_46.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_47.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_48.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_49.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_5.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_50.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_51.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_52.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_53.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_54.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_55.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_56.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_57.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_58.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_59.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_6.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_60.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_61.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_62.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_63.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_64.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_65.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_66.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_67.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_68.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_69.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_7.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_70.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_71.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_72.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_73.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_74.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_75.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_76.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_77.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_78.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_79.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_8.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_80.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_81.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_82.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_83.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_84.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_85.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_86.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_87.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_88.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_89.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_9.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_90.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_91.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_92.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_93.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_94.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_95.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_96.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_97.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_98.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_99.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_1.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_10.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_100.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_101.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_102.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_103.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_104.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_105.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_106.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_107.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_108.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_109.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_11.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_110.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_111.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_112.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_113.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_114.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_115.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_116.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_117.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_118.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_119.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_12.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_120.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_121.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_122.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_123.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_124.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_125.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_126.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_127.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_128.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_129.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_13.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_130.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_131.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_132.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_133.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_134.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_135.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_136.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_137.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_138.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_139.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_14.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_140.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_141.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_142.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_143.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_144.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_145.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_15.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_16.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_17.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_18.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_19.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_2.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_20.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_21.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_22.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_23.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_24.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_25.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_26.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_27.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_28.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_29.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_3.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_30.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_31.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_32.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_33.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_34.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_35.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_36.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_37.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_38.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_39.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_4.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_40.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_41.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_42.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_43.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_44.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_45.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_46.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_47.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_48.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_49.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_5.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_50.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_51.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_52.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_53.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_54.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_55.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_56.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_57.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_58.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_59.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_6.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_60.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_61.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_62.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_63.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_64.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_65.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_66.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_67.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_68.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_69.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_7.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_70.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_71.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_72.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_73.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_74.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_75.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_76.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_77.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_78.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_79.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_8.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_80.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_81.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_82.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_83.plan211
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_84.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_85.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_86.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_87.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_88.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_89.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_9.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_90.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_91.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_92.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_93.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_94.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_95.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_96.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_97.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_98.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_99.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_1.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_10.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_100.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_101.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_102.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_103.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_104.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_105.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_106.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_107.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_108.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_109.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_11.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_110.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_111.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_112.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_113.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_114.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_115.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_116.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_117.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_118.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_119.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_12.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_120.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_121.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_122.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_123.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_124.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_125.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_126.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_127.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_128.plan211
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_129.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_13.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_130.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_131.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_132.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_133.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_134.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_135.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_136.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_137.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_138.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_139.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_14.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_140.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_141.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_15.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_16.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_17.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_18.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_19.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_2.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_20.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_21.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_22.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_23.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_24.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_25.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_26.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_27.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_28.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_29.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_3.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_30.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_31.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_32.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_33.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_34.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_35.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_36.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_37.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_38.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_39.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_4.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_40.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_41.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_42.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_43.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_44.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_45.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_46.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_47.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_48.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_49.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_5.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_50.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_51.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_52.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_53.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_54.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_55.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_56.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_57.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_58.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_59.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_6.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_60.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_61.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_62.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_63.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_64.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_65.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_66.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_67.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_68.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_69.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_7.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_70.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_71.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_72.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_73.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_74.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_75.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_76.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_77.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_78.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_79.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_8.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_80.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_81.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_82.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_83.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_84.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_85.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_86.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_87.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_88.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_89.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_9.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_90.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_91.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_92.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_93.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_94.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_95.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_96.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_97.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_98.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_99.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_1.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_10.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_100.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_101.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_102.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_103.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_104.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_105.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_106.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_107.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_108.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_109.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_11.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_110.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_111.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_112.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_113.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_114.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_115.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_116.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_117.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_118.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_119.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_12.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_120.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_121.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_122.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_123.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_124.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_125.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_126.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_127.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_128.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_129.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_13.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_130.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_131.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_132.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_133.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_134.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_135.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_136.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_14.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_15.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_16.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_17.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_18.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_19.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_2.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_20.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_21.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_22.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_23.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_24.plan210
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_25.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_26.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_27.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_28.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_29.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_3.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_30.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_31.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_32.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_33.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_34.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_35.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_36.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_37.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_38.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_39.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_4.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_40.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_41.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_42.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_43.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_44.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_45.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_46.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_47.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_48.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_49.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_5.plan211
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_50.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_51.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_52.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_53.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_54.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_55.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_56.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_57.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_58.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_59.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_6.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_60.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_61.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_62.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_63.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_64.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_65.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_66.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_67.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_68.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_69.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_7.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_70.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_71.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_72.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_73.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_74.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_75.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_76.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_77.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_78.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_79.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_8.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_80.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_81.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_82.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_83.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_84.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_85.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_86.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_87.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_88.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_89.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_9.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_90.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_91.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_92.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_93.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_94.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_95.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_96.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_97.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_98.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_99.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_1.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_10.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_11.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_12.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_13.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_14.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_15.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_16.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_17.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_18.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_19.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_2.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_20.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_21.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_22.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_23.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_24.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_25.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_26.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_27.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_28.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_29.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_3.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_30.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_31.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_32.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_33.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_34.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_35.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_36.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_37.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_38.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_39.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_4.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_5.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_6.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_7.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_8.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_9.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_1.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_10.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_100.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_101.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_102.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_103.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_104.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_105.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_106.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_107.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_108.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_109.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_11.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_110.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_111.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_112.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_113.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_114.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_115.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_116.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_117.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_118.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_119.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_12.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_120.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_121.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_122.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_123.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_124.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_125.plan197
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_126.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_127.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_128.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_129.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_13.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_130.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_131.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_132.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_133.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_134.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_135.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_136.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_137.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_14.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_15.plan199
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_16.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_17.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_18.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_19.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_2.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_20.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_21.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_22.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_23.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_24.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_25.plan197
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_26.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_27.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_28.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_29.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_3.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_30.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_31.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_32.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_33.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_34.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_35.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_36.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_37.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_38.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_39.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_4.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_40.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_41.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_42.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_43.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_44.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_45.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_46.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_47.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_48.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_49.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_5.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_50.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_51.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_52.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_53.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_54.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_55.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_56.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_57.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_58.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_59.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_6.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_60.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_61.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_62.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_63.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_64.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_65.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_66.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_67.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_68.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_69.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_7.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_70.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_71.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_72.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_73.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_74.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_75.plan197
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_76.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_77.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_78.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_79.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_8.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_80.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_81.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_82.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_83.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_84.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_85.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_86.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_87.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_88.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_89.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_9.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_90.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_91.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_92.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_93.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_94.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_95.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_96.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_97.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_98.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_99.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_1.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_10.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_100.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_101.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_102.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_103.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_104.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_105.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_106.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_107.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_108.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_109.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_11.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_110.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_111.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_112.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_113.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_114.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_115.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_116.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_117.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_118.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_119.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_12.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_120.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_121.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_122.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_123.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_124.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_125.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_126.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_127.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_128.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_129.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_13.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_130.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_131.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_132.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_133.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_134.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_135.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_136.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_137.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_138.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_139.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_14.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_140.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_141.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_142.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_143.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_144.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_145.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_146.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_147.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_148.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_149.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_15.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_150.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_151.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_152.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_153.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_154.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_155.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_156.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_157.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_158.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_16.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_17.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_18.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_19.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_2.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_20.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_21.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_22.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_23.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_24.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_25.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_26.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_27.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_28.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_29.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_3.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_30.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_31.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_32.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_33.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_34.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_35.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_36.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_37.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_38.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_39.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_4.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_40.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_41.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_42.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_43.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_44.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_45.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_46.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_47.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_48.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_49.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_5.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_50.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_51.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_52.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_53.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_54.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_55.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_56.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_57.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_58.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_59.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_6.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_60.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_61.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_62.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_63.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_64.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_65.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_66.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_67.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_68.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_69.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_7.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_70.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_71.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_72.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_73.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_74.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_75.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_76.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_77.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_78.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_79.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_8.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_80.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_81.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_82.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_83.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_84.plan110
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_85.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_86.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_87.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_88.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_89.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_9.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_90.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_91.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_92.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_93.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_94.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_95.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_96.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_97.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_98.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_99.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_1.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_10.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_100.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_101.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_102.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_103.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_104.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_105.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_106.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_107.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_108.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_109.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_11.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_110.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_111.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_112.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_113.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_114.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_115.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_116.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_117.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_118.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_119.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_12.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_120.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_121.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_122.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_123.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_124.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_125.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_126.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_127.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_128.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_129.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_13.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_130.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_131.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_132.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_133.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_134.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_135.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_136.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_137.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_138.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_139.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_14.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_140.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_141.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_142.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_143.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_144.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_145.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_146.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_147.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_15.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_16.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_17.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_18.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_19.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_2.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_20.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_21.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_22.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_23.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_24.plan197
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_25.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_26.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_27.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_28.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_29.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_3.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_30.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_31.plan211
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_32.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_33.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_34.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_35.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_36.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_37.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_38.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_39.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_4.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_40.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_41.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_42.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_43.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_44.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_45.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_46.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_47.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_48.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_49.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_5.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_50.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_51.plan190
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_52.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_53.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_54.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_55.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_56.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_57.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_58.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_59.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_6.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_60.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_61.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_62.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_63.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_64.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_65.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_66.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_67.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_68.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_69.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_7.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_70.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_71.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_72.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_73.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_74.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_75.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_76.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_77.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_78.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_79.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_8.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_80.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_81.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_82.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_83.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_84.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_85.plan197
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_86.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_87.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_88.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_89.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_9.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_90.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_91.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_92.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_93.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_94.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_95.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_96.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_97.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_98.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_99.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_1.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_10.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_100.plan89
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_101.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_102.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_103.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_104.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_105.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_106.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_107.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_108.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_109.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_11.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_110.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_111.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_112.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_113.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_114.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_115.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_116.plan109
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_117.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_118.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_119.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_12.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_120.plan199
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_121.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_122.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_123.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_124.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_125.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_126.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_127.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_128.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_129.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_13.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_130.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_131.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_132.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_133.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_134.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_135.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_14.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_15.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_16.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_17.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_18.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_19.plan214
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_2.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_20.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_21.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_22.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_23.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_24.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_25.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_26.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_27.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_28.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_29.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_3.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_30.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_31.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_32.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_33.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_34.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_35.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_36.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_37.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_38.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_39.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_4.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_40.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_41.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_42.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_43.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_44.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_45.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_46.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_47.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_48.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_49.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_5.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_50.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_51.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_52.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_53.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_54.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_55.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_56.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_57.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_58.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_59.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_6.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_60.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_61.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_62.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_63.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_64.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_65.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_66.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_67.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_68.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_69.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_7.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_70.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_71.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_72.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_73.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_74.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_75.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_76.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_77.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_78.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_79.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_8.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_80.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_81.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_82.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_83.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_84.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_85.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_86.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_87.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_88.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_89.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_9.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_90.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_91.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_92.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_93.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_94.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_95.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_96.plan196
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_97.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_98.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_99.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_1.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_2.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_3.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_4.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_5.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_6.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_7.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_8.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_9.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_1.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_10.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_100.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_101.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_102.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_103.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_104.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_105.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_106.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_107.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_108.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_109.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_11.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_110.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_111.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_112.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_113.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_114.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_115.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_116.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_117.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_118.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_119.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_12.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_120.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_121.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_122.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_123.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_124.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_125.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_126.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_127.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_128.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_129.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_13.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_130.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_131.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_132.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_133.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_134.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_135.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_136.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_137.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_138.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_139.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_14.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_140.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_141.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_142.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_143.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_144.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_145.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_146.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_147.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_15.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_16.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_17.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_18.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_19.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_2.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_20.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_21.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_22.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_23.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_24.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_25.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_26.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_27.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_28.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_29.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_3.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_30.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_31.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_32.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_33.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_34.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_35.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_36.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_37.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_38.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_39.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_4.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_40.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_41.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_42.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_43.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_44.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_45.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_46.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_47.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_48.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_49.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_5.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_50.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_51.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_52.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_53.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_54.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_55.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_56.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_57.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_58.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_59.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_6.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_60.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_61.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_62.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_63.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_64.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_65.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_66.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_67.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_68.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_69.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_7.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_70.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_71.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_72.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_73.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_74.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_75.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_76.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_77.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_78.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_79.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_8.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_80.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_81.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_82.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_83.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_84.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_85.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_86.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_87.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_88.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_89.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_9.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_90.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_91.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_92.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_93.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_94.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_95.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_96.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_97.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_98.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_99.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_1.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_10.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_100.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_101.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_102.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_103.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_104.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_105.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_106.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_107.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_108.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_109.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_11.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_110.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_111.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_112.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_113.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_114.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_115.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_116.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_117.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_118.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_119.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_12.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_120.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_121.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_122.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_123.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_124.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_125.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_126.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_127.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_128.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_129.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_13.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_130.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_131.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_132.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_14.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_15.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_16.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_17.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_18.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_19.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_2.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_20.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_21.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_22.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_23.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_24.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_25.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_26.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_27.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_28.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_29.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_3.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_30.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_31.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_32.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_33.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_34.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_35.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_36.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_37.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_38.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_39.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_4.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_40.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_41.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_42.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_43.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_44.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_45.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_46.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_47.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_48.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_49.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_5.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_50.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_51.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_52.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_53.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_54.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_55.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_56.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_57.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_58.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_59.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_6.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_60.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_61.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_62.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_63.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_64.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_65.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_66.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_67.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_68.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_69.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_7.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_70.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_71.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_72.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_73.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_74.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_75.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_76.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_77.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_78.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_79.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_8.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_80.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_81.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_82.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_83.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_84.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_85.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_86.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_87.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_88.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_89.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_9.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_90.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_91.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_92.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_93.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_94.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_95.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_96.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_97.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_98.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_99.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_1.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_10.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_100.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_101.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_102.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_103.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_104.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_105.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_106.plan217
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_11.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_12.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_13.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_14.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_15.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_16.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_17.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_18.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_19.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_2.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_20.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_21.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_22.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_23.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_24.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_25.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_26.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_27.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_28.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_29.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_3.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_30.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_31.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_32.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_33.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_34.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_35.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_36.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_37.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_38.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_39.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_4.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_40.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_41.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_42.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_43.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_44.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_45.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_46.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_47.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_48.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_49.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_5.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_50.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_51.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_52.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_53.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_54.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_55.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_56.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_57.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_58.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_59.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_6.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_60.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_61.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_62.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_63.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_64.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_65.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_66.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_67.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_68.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_69.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_7.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_70.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_71.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_72.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_73.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_74.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_75.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_76.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_77.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_78.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_79.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_8.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_80.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_81.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_82.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_83.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_84.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_85.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_86.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_87.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_88.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_89.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_9.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_90.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_91.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_92.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_93.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_94.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_95.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_96.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_97.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_98.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_99.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_1.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_10.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_100.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_101.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_102.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_103.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_104.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_105.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_106.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_107.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_108.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_109.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_11.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_110.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_111.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_112.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_113.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_114.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_115.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_116.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_117.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_118.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_119.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_12.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_120.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_121.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_122.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_123.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_124.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_125.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_126.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_127.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_128.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_129.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_13.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_130.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_131.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_132.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_133.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_134.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_135.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_136.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_137.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_138.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_139.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_14.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_140.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_141.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_142.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_143.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_144.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_145.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_146.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_147.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_148.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_149.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_15.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_150.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_151.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_152.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_153.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_16.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_17.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_18.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_19.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_2.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_20.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_21.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_22.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_23.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_24.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_25.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_26.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_27.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_28.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_29.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_3.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_30.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_31.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_32.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_33.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_34.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_35.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_36.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_37.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_38.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_39.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_4.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_40.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_41.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_42.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_43.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_44.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_45.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_46.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_47.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_48.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_49.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_5.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_50.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_51.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_52.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_53.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_54.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_55.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_56.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_57.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_58.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_59.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_6.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_60.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_61.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_62.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_63.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_64.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_65.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_66.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_67.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_68.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_69.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_7.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_70.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_71.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_72.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_73.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_74.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_75.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_76.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_77.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_78.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_79.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_8.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_80.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_81.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_82.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_83.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_84.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_85.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_86.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_87.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_88.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_89.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_9.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_90.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_91.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_92.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_93.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_94.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_95.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_96.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_97.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_98.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_99.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_1.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_10.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_100.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_101.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_102.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_103.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_104.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_105.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_106.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_11.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_12.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_13.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_14.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_15.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_16.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_17.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_18.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_19.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_2.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_20.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_21.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_22.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_23.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_24.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_25.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_26.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_27.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_28.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_29.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_3.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_30.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_31.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_32.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_33.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_34.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_35.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_36.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_37.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_38.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_39.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_4.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_40.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_41.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_42.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_43.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_44.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_45.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_46.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_47.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_48.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_49.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_5.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_50.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_51.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_52.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_53.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_54.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_55.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_56.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_57.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_58.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_59.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_6.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_60.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_61.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_62.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_63.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_64.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_65.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_66.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_67.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_68.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_69.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_7.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_70.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_71.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_72.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_73.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_74.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_75.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_76.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_77.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_78.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_79.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_8.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_80.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_81.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_82.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_83.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_84.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_85.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_86.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_87.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_88.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_89.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_9.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_90.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_91.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_92.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_93.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_94.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_95.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_96.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_97.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_98.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_99.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_1.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_10.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_100.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_101.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_102.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_103.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_104.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_105.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_11.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_12.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_13.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_14.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_15.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_16.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_17.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_18.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_19.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_2.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_20.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_21.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_22.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_23.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_24.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_25.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_26.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_27.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_28.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_29.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_3.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_30.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_31.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_32.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_33.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_34.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_35.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_36.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_37.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_38.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_39.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_4.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_40.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_41.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_42.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_43.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_44.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_45.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_46.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_47.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_48.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_49.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_5.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_50.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_51.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_52.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_53.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_54.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_55.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_56.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_57.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_58.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_59.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_6.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_60.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_61.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_62.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_63.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_64.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_65.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_66.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_67.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_68.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_69.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_7.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_70.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_71.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_72.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_73.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_74.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_75.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_76.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_77.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_78.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_79.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_8.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_80.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_81.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_82.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_83.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_84.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_85.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_86.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_87.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_88.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_89.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_9.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_90.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_91.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_92.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_93.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_94.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_95.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_96.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_97.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_98.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_99.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_1.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_10.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_11.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_12.plan218
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_13.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_14.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_15.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_16.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_17.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_18.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_19.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_2.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_20.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_21.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_22.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_23.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_24.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_25.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_26.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_27.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_28.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_29.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_3.plan208
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_30.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_31.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_32.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_33.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_34.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_35.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_36.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_37.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_38.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_4.plan208
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_5.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_6.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_7.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_8.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_9.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_1.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_10.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_100.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_101.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_102.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_103.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_104.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_105.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_106.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_107.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_108.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_109.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_11.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_110.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_111.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_112.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_113.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_114.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_115.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_116.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_117.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_118.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_119.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_12.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_120.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_121.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_122.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_123.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_124.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_125.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_126.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_127.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_128.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_129.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_13.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_130.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_131.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_132.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_133.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_134.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_135.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_136.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_137.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_138.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_139.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_14.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_140.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_141.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_142.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_143.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_144.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_145.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_15.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_16.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_17.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_18.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_19.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_2.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_20.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_21.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_22.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_23.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_24.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_25.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_26.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_27.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_28.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_29.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_3.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_30.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_31.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_32.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_33.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_34.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_35.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_36.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_37.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_38.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_39.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_4.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_40.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_41.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_42.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_43.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_44.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_45.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_46.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_47.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_48.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_49.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_5.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_50.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_51.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_52.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_53.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_54.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_55.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_56.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_57.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_58.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_59.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_6.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_60.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_61.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_62.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_63.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_64.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_65.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_66.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_67.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_68.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_69.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_7.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_70.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_71.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_72.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_73.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_74.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_75.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_76.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_77.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_78.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_79.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_8.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_80.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_81.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_82.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_83.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_84.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_85.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_86.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_87.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_88.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_89.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_9.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_90.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_91.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_92.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_93.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_94.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_95.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_96.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_97.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_98.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_99.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_1.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_10.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_100.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_101.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_102.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_103.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_104.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_105.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_106.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_107.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_108.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_109.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_11.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_110.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_111.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_112.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_113.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_114.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_115.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_116.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_117.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_118.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_119.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_12.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_120.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_121.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_122.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_123.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_124.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_125.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_126.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_127.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_13.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_14.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_15.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_16.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_17.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_18.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_19.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_2.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_20.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_21.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_22.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_23.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_24.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_25.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_26.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_27.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_28.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_29.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_3.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_30.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_31.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_32.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_33.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_34.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_35.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_36.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_37.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_38.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_39.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_4.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_40.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_41.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_42.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_43.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_44.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_45.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_46.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_47.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_48.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_49.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_5.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_50.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_51.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_52.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_53.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_54.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_55.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_56.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_57.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_58.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_59.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_6.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_60.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_61.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_62.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_63.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_64.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_65.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_66.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_67.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_68.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_69.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_7.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_70.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_71.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_72.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_73.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_74.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_75.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_76.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_77.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_78.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_79.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_8.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_80.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_81.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_82.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_83.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_84.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_85.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_86.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_87.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_88.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_89.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_9.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_90.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_91.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_92.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_93.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_94.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_95.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_96.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_97.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_98.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_99.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_1.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_10.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_100.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_101.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_11.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_12.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_13.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_14.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_15.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_16.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_17.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_18.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_19.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_2.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_20.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_21.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_22.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_23.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_24.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_25.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_26.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_27.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_28.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_29.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_3.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_30.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_31.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_32.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_33.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_34.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_35.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_36.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_37.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_38.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_39.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_4.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_40.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_41.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_42.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_43.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_44.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_45.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_46.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_47.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_48.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_49.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_5.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_50.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_51.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_52.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_53.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_54.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_55.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_56.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_57.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_58.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_59.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_6.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_60.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_61.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_62.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_63.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_64.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_65.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_66.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_67.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_68.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_69.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_7.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_70.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_71.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_72.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_73.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_74.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_75.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_76.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_77.plan212
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_78.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_79.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_8.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_80.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_81.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_82.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_83.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_84.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_85.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_86.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_87.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_88.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_89.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_9.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_90.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_91.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_92.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_93.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_94.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_95.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_96.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_97.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_98.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_99.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_1.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_10.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_100.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_101.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_102.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_103.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_104.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_105.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_106.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_107.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_108.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_11.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_12.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_13.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_14.plan216
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_15.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_16.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_17.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_18.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_19.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_2.plan94
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_20.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_21.plan211
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_22.plan211
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_23.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_24.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_25.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_26.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_27.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_28.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_29.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_3.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_30.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_31.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_32.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_33.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_34.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_35.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_36.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_37.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_38.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_39.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_4.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_40.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_41.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_42.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_43.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_44.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_45.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_46.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_47.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_48.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_49.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_5.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_50.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_51.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_52.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_53.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_54.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_55.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_56.plan207
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_57.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_58.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_59.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_6.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_60.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_61.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_62.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_63.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_64.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_65.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_66.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_67.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_68.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_69.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_7.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_70.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_71.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_72.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_73.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_74.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_75.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_76.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_77.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_78.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_79.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_8.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_80.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_81.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_82.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_83.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_84.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_85.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_86.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_87.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_88.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_89.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_9.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_90.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_91.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_92.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_93.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_94.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_95.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_96.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_97.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_98.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_99.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_1.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_10.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_100.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_101.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_102.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_103.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_104.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_105.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_106.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_107.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_108.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_109.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_11.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_110.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_111.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_112.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_113.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_114.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_115.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_116.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_117.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_118.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_119.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_12.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_120.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_121.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_122.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_123.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_124.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_125.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_126.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_127.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_128.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_129.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_13.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_130.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_131.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_132.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_133.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_134.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_135.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_136.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_14.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_15.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_16.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_17.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_18.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_19.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_2.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_20.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_21.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_22.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_23.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_24.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_25.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_26.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_27.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_28.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_29.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_3.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_30.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_31.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_32.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_33.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_34.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_35.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_36.plan215
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_37.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_38.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_39.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_4.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_40.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_41.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_42.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_43.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_44.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_45.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_46.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_47.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_48.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_49.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_5.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_50.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_51.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_52.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_53.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_54.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_55.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_56.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_57.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_58.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_59.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_6.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_60.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_61.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_62.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_63.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_64.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_65.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_66.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_67.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_68.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_69.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_7.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_70.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_71.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_72.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_73.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_74.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_75.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_76.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_77.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_78.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_79.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_8.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_80.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_81.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_82.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_83.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_84.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_85.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_86.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_87.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_88.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_89.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_9.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_90.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_91.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_92.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_93.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_94.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_95.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_96.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_97.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_98.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_99.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_1.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_10.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_100.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_101.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_102.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_103.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_104.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_105.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_106.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_107.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_108.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_109.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_11.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_110.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_111.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_112.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_113.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_114.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_115.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_116.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_117.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_118.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_119.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_12.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_120.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_121.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_122.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_123.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_13.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_14.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_15.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_16.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_17.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_18.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_19.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_2.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_20.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_21.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_22.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_23.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_24.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_25.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_26.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_27.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_28.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_29.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_3.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_30.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_31.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_32.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_33.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_34.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_35.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_36.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_37.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_38.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_39.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_4.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_40.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_41.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_42.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_43.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_44.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_45.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_46.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_47.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_48.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_49.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_5.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_50.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_51.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_52.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_53.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_54.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_55.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_56.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_57.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_58.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_59.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_6.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_60.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_61.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_62.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_63.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_64.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_65.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_66.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_67.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_68.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_69.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_7.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_70.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_71.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_72.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_73.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_74.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_75.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_76.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_77.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_78.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_79.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_8.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_80.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_81.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_82.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_83.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_84.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_85.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_86.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_87.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_88.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_89.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_9.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_90.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_91.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_92.plan97
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_93.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_94.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_95.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_96.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_97.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_98.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_99.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_1.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_10.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_100.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_101.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_102.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_103.plan99
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_104.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_105.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_106.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_107.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_108.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_109.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_11.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_110.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_111.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_112.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_113.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_114.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_115.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_116.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_117.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_118.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_119.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_12.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_120.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_121.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_13.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_14.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_15.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_16.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_17.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_18.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_19.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_2.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_20.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_21.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_22.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_23.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_24.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_25.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_26.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_27.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_28.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_29.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_3.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_30.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_31.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_32.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_33.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_34.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_35.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_36.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_37.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_38.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_39.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_4.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_40.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_41.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_42.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_43.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_44.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_45.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_46.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_47.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_48.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_49.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_5.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_50.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_51.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_52.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_53.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_54.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_55.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_56.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_57.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_58.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_59.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_6.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_60.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_61.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_62.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_63.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_64.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_65.plan93
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_66.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_67.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_68.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_69.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_7.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_70.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_71.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_72.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_73.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_74.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_75.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_76.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_77.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_78.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_79.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_8.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_80.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_81.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_82.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_83.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_84.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_85.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_86.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_87.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_88.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_89.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_9.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_90.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_91.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_92.plan209
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_93.plan209
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_94.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_95.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_96.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_97.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_98.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_99.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_1.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_10.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_100.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_101.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_102.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_103.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_104.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_105.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_106.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_107.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_108.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_109.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_11.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_110.plan108
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_111.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_112.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_113.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_114.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_115.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_116.plan90
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_117.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_118.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_119.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_12.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_120.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_121.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_122.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_123.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_124.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_125.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_126.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_127.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_128.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_129.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_13.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_130.plan223
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_131.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_132.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_133.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_134.plan224
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_135.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_136.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_137.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_138.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_139.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_14.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_140.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_141.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_142.plan98
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_143.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_144.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_145.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_146.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_147.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_148.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_149.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_15.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_150.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_16.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_17.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_18.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_19.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_2.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_20.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_21.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_22.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_23.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_24.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_25.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_26.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_27.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_28.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_29.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_3.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_30.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_31.plan209
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_32.plan209
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_33.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_34.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_35.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_36.plan106
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_37.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_38.plan96
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_39.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_4.plan221
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_40.plan105
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_41.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_42.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_43.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_44.plan100
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_45.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_46.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_47.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_48.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_49.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_5.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_50.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_51.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_52.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_53.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_54.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_55.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_56.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_57.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_58.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_59.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_6.plan92
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_60.plan103
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_61.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_62.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_63.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_64.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_65.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_66.plan222
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_67.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_68.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_69.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_7.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_70.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_71.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_72.plan95
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_73.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_74.plan225
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_75.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_76.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_77.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_78.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_79.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_8.plan219
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_80.plan102
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_81.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_82.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_83.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_84.plan101
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_85.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_86.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_87.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_88.plan107
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_89.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_9.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_90.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_91.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_92.plan213
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_93.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_94.plan220
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_95.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_96.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_97.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_98.plan104
-rw-r--r--ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_99.plan224
-rw-r--r--ydb/tests/functional/suite_tests/test_base.py4
3216 files changed, 379635 insertions, 4152 deletions
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_1.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_1.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_2.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_2.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_3.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_3.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_4.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_4.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_5.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-boolean.test_/query_5.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_1.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_1.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_10.plan
index 35fbb4682a..c3ba4236f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_10.plan
@@ -1 +1,79 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_11.plan
index 8782aaf5a4..50139b058c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_11.plan
@@ -1 +1,81 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.Simplest_Math\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"Simplest_Math (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.Simplest_Math"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "Simplest_Math (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_12.plan
index 35fbb4682a..c3ba4236f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_12.plan
@@ -1 +1,79 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_13.plan
index 35fbb4682a..c3ba4236f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_13.plan
@@ -1 +1,79 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_14.plan
index 78de063633..77a3c293fe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_14.plan
@@ -1 +1,83 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f\",\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.f == 4\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f\",\n \"i\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.f == 4"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f",
+ "i"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "f",
+ "i"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_2.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_2.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_3.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_3.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_4.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_4.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_5.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_5.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_6.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_6.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_7.plan
index 35fbb4682a..c3ba4236f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_7.plan
@@ -1 +1,79 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_8.plan
index 35fbb4682a..c3ba4236f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_8.plan
@@ -1 +1,79 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_case.test_plan\\/CASE_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_case.test_plan\\/CASE_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_case.test_plan\\/CASE_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_case.test_plan/CASE_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_case.test_plan/CASE_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_case.test_plan/CASE_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_9.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-case.test_/query_9.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_1.plan
index e0c5d6f47d..b5a9a2b1c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_1.plan
@@ -1 +1,336 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/a\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/b\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"x\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"x\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_4\",\n \"PlanNodeId\":32,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":31,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":30,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.a_y\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":29,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":28,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_4_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_2_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":27\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":26,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":25,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_4_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"x\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_3_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":23,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"a_y (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_3\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":21,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":20\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_3_0\"\n },\n {\n \"Node Type\":\"Precompute_2\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"x\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_2_0\"\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"ReadRanges\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/a\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/a\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_4",
+ "PlanNodeId": 32,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 31,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 30,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.a_y"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 29,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 28,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_4_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_2_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 27
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 26,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 25,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 24,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_4_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "x"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/b"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_3_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/b"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "a_y (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_3",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 21,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 20
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_3_0"
+ },
+ {
+ "Node Type": "Precompute_2",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "x"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/b"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/b"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_2_0"
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "ReadRanges": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/a"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/a"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/a",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "scan_by": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/b",
+ "reads": [
+ {
+ "columns": [
+ "x"
+ ],
+ "type": "Lookup"
+ },
+ {
+ "columns": [
+ "x"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_2.plan
index 820595a41a..f747777191 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_2.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/a\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/b\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"x\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.a_y\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"x\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"a_y (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"ReadRanges\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/a\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/a\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.a_y"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "x"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/b"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/b"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "a_y (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "ReadRanges": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/a"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/a"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/a",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "scan_by": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/b",
+ "reads": [
+ {
+ "columns": [
+ "x"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_3.plan
index cb754f0d90..c3ecb78b37 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_3.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/a\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/b\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.pv_x\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/a\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/a\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"pv_x (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x\"\n ],\n \"ReadRanges\":\n [\n \"x (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/b\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.pv_x"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/a"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/a"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "pv_x (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x"
+ ],
+ "ReadRanges": [
+ "x (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/b"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/b"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/a",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/b",
+ "reads": [
+ {
+ "columns": [
+ "x"
+ ],
+ "scan_by": [
+ "x (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_4.plan
index 7190d35df2..349ba0a0d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_4.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/xx\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"pkxx\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/yy\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"pkxx (-\u221e, +\u221e)\",\n \"pkyy (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"pkxx\",\n \"pkyy\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.yy_pkyy\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.pkxx)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"pkxx\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/xx\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/xx\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"yy_pkyy (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"pkxx\",\n \"pkyy\"\n ],\n \"ReadRanges\":\n [\n \"pkxx (-\u221e, +\u221e)\",\n \"pkyy (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/yy\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/yy\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.yy_pkyy"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.pkxx)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "pkxx"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/xx"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/xx"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "yy_pkyy (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "pkxx",
+ "pkyy"
+ ],
+ "ReadRanges": [
+ "pkxx (-\u221e, +\u221e)",
+ "pkyy (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/yy"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/yy"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/xx",
+ "reads": [
+ {
+ "columns": [
+ "pkxx"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/yy",
+ "reads": [
+ {
+ "columns": [
+ "pkxx",
+ "pkyy"
+ ],
+ "scan_by": [
+ "pkxx (-\u221e, +\u221e)",
+ "pkyy (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_5.plan
index efc5b422e8..7c4320a2c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_coalesce-and-join.test_/query_5.plan
@@ -1 +1,150 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/xx\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"pkxx (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"pkxx\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/coalesce-and-join.test_plan\\/yy\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"pkxx (-\u221e, +\u221e)\",\n \"pkyy (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"pkxx\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"pkxx\"\n ],\n \"ReadRanges\":\n [\n \"pkxx (-\u221e, +\u221e)\",\n \"pkyy (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/yy\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/yy\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"pkxx\"\n ],\n \"ReadRanges\":\n [\n \"pkxx (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/coalesce-and-join.test_plan\\/xx\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/coalesce-and-join.test_plan\\/xx\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "pkxx"
+ ],
+ "ReadRanges": [
+ "pkxx (-\u221e, +\u221e)",
+ "pkyy (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/yy"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/yy"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "pkxx"
+ ],
+ "ReadRanges": [
+ "pkxx (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/coalesce-and-join.test_plan/xx"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/coalesce-and-join.test_plan/xx"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/xx",
+ "reads": [
+ {
+ "columns": [
+ "pkxx"
+ ],
+ "scan_by": [
+ "pkxx (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/coalesce-and-join.test_plan/yy",
+ "reads": [
+ {
+ "columns": [
+ "pkxx"
+ ],
+ "scan_by": [
+ "pkxx (-\u221e, +\u221e)",
+ "pkyy (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_1.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_1.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_2.plan
index 9c2e6d4a6b..61ced69dd8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_2.plan
@@ -1 +1,236 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"q1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.q2\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"t1.q2\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"{_yql_agg_0: COUNT(item.t1.q1)}\",\n \"GroupBy\":\"item.t1.q2\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.q1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"q1\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"q2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.q2)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 20,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.q2"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "t1.q2"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Aggregation": "{_yql_agg_0: COUNT(item.t1.q1)}",
+ "GroupBy": "item.t1.q2",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.q1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "q1"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "q2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.q2)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join-group-by-with-null.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_3.plan
index 06a3c9151a..dc6db1b651 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_3.plan
@@ -1 +1,234 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q2\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"q1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.q2\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"t1.q2\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"{_yql_agg_0: COUNT(item.t2.q1)}\",\n \"GroupBy\":\"item.t1.q2\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.q1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"q1\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"q2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.q2)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 20,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.q2"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "t1.q2"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Aggregation": "{_yql_agg_0: COUNT(item.t2.q1)}",
+ "GroupBy": "item.t1.q2",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.q1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "q1"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "q2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.q2)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join-group-by-with-null.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_4.plan
index 29a45f6923..41540b5a60 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_4.plan
@@ -1 +1,204 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.q2\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"t1.q2\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"{_yql_agg_0: COUNT(item.t2.q1)}\",\n \"GroupBy\":\"item.t1.q2\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":7,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"10\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"10\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"q2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 14,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.q2"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "t1.q2"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Aggregation": "{_yql_agg_0: COUNT(item.t2.q1)}",
+ "GroupBy": "item.t1.q2",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "10",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "10",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "q2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join-group-by-with-null.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_5.plan
index 8e7ba350cf..9bb38c1d2b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join-group-by-with-null.test_/query_5.plan
@@ -1 +1,181 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.q2\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"t1.q2\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"{_yql_agg_0: COUNT(item.t2.q1)}\",\n \"GroupBy\":\"item.t1.q2\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join-group-by-with-null.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"q2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.q2"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "t1.q2"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Aggregation": "{_yql_agg_0: COUNT(item.t2.q1)}",
+ "GroupBy": "item.t1.q2",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join-group-by-with-null.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "q2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join-group-by-with-null.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_1.plan
index dbd3284148..6291044cd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_1.plan
@@ -1 +1,163 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"InnerJoin (MapJoin)-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.q1)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i1q1 (Asc)\",\n \"i1q2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "InnerJoin (MapJoin)-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.q1)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i1q1 (Asc)",
+ "i1q2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_10.plan
index 0bc63d9379..d233831841 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_10.plan
@@ -1 +1,160 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"thousand\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b.thousand == item.a.q1 And item.a.q1 == item.b.hundred\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"thousand\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b.thousand == item.a.q1 And item.a.q1 == item.b.hundred"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "thousand",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "hundred",
+ "thousand",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_11.plan
index b85258abe5..1d0dd4b197 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_11.plan
@@ -1 +1,150 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int4_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int4_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int4_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int4_tbl",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_12.plan
index 8c059374db..e3374b916b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_12.plan
@@ -1 +1,237 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"thousand\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"thousand\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"thousand\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"thousand\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 \\u003C 10\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"thousand\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"thousand\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 16,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "thousand",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 < 10"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "thousand",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "thousand",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "thousand",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "thousand",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "thousand",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_13.plan
index 2180e4ff2c..429e80f494 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_13.plan
@@ -1 +1,198 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int4_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"[{join_key: 0},{join_key: 1}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":11\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 16,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int4_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int4_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "[{join_key: 0},{join_key: 1}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 11
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int4_tbl",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_14.plan
index 92278cdc13..2b56375cd8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_14.plan
@@ -1 +1,195 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"FullJoin (JoinDict)-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"FullJoin (JoinDict)\"\n },\n {\n \"Iterator\":\"[{id: 1}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"unique1\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"[{id: 1}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 14,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "FullJoin (JoinDict)-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "FullJoin (JoinDict)"
+ },
+ {
+ "Iterator": "[{id: 1}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "unique1"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "[{id: 1}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_15.plan
index c857c42798..36ea86c17b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_15.plan
@@ -1 +1,152 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int4_tbl\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"even\",\n \"ten\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"ten\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n },\n {\n \"Iterator\":\"[{f1: 0}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "even",
+ "ten",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "f1"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int4_tbl"
+ },
+ {
+ "Iterator": "[{f1: 0}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int4_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int4_tbl",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "ten",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_16.plan
index a43b3553c7..f4f080aad4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_16.plan
@@ -1 +1,175 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"unique2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Filter-FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Nth.unique2 == 42\"\n },\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"unique2\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"unique2\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Filter-FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Nth.unique2 == 42"
+ },
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "unique2"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "unique2"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_2.plan
index a9ed636bbf..cc42071cfb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_2.plan
@@ -1 +1,165 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int4_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"tenthous\",\n \"thousand\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":8,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.thousand)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"tenthous\",\n \"thousand\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":6,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 9,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Aggregate-InnerJoin (MapJoin)-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.thousand)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "tenthous",
+ "thousand"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 6,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int4_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int4_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int4_tbl",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "tenthous",
+ "thousand"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_3.plan
index b004585ceb..68cd0bd7d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_3.plan
@@ -1 +1,168 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"fivethous\",\n \"hundred\",\n \"thousand\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"fivethous\",\n \"hundred\",\n \"thousand\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.hundred)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.thousand) And item.fivethous % 10 \\u003C 10\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"fivethous\",\n \"hundred\",\n \"thousand\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"fivethous\",\n \"hundred\",\n \"thousand\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.hundred)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.thousand) And item.fivethous % 10 < 10"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "fivethous",
+ "hundred",
+ "thousand"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "fivethous",
+ "hundred",
+ "thousand"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "fivethous",
+ "hundred",
+ "thousand"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "fivethous",
+ "hundred",
+ "thousand"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_4.plan
index dd91021937..c6e9f4bad4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_4.plan
@@ -1 +1,159 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"tenthous\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"unique1 (42)\"\n ],\n \"scan_by\":\n [\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"ten\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not And item.a.ten == 2 Or item.b.hundred == 3\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"tenthous\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TablePointLookup\",\n \"Operators\":\n [\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"ten\",\n \"unique2\"\n ],\n \"ReadRange\":\n [\n \"unique1 (42)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not And item.a.ten == 2 Or item.b.hundred == 3"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "tenthous",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TablePointLookup",
+ "Operators": [
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "ten",
+ "unique2"
+ ],
+ "ReadRange": [
+ "unique1 (42)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "hundred",
+ "tenthous",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "ten",
+ "unique2"
+ ],
+ "lookup_by": [
+ "unique1 (42)"
+ ],
+ "scan_by": [
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_5.plan
index e1b22397d8..84030fa46e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_5.plan
@@ -1 +1,253 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.qq\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.qq)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"qq\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"qq\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"qq (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.qq"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.qq)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "qq"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "qq"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "qq (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_6.plan
index cc954240f4..cd920d005f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_6.plan
@@ -1 +1,441 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int4_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/ononequery1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/ononequery2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"y1 (-\u221e, +\u221e)\",\n \"y2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"stringu2\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":36,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":35,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":34,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.t1.stringu1 \\u003E item.t2.stringu2\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":33,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":32,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":31\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":30,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":29,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":28,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.unique1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"stringu2\",\n \"unique1\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":27,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":25,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.subq1.y1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":24\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":22,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":21,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.unique2)\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/ononequery1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/ononequery1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"ReadRanges\":\n [\n \"y1 (-\u221e, +\u221e)\",\n \"y2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/ononequery2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/ononequery2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n }\n ],\n \"PlanNodeId\":11,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int4_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.unique2) And item.unique2 \\u003C 42\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":17,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 36,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 35,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 34,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.t1.stringu1 > item.t2.stringu2"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 33,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 32,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 31
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 30,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 29,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 28,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.unique1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "stringu2",
+ "unique1"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 27,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 25,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.subq1.y1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 24
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 22,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 21,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 20,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.unique2)"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/ononequery1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/ononequery1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "ReadRanges": [
+ "y1 (-\u221e, +\u221e)",
+ "y2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/ononequery2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/ononequery2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int4_tbl"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int4_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.unique2) And item.unique2 < 42"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int4_tbl",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/ononequery1",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/ononequery2",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "scan_by": [
+ "y1 (-\u221e, +\u221e)",
+ "y2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "stringu2",
+ "unique1"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_7.plan
index f76e545b18..8d3303823c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_7.plan
@@ -1 +1,240 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"unique1 (1)\"\n ],\n \"scan_by\":\n [\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"ten\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.thousand)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TablePointLookup\",\n \"Operators\":\n [\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"ten\"\n ],\n \"ReadRange\":\n [\n \"unique1 (1)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":11,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 16,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.thousand)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TablePointLookup",
+ "Operators": [
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "hundred",
+ "ten"
+ ],
+ "ReadRange": [
+ "unique1 (1)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "hundred",
+ "ten"
+ ],
+ "lookup_by": [
+ "unique1 (1)"
+ ],
+ "scan_by": [
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_8.plan
index 7872c41364..e46d5a7931 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_8.plan
@@ -1 +1,242 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.thousand)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"hundred\",\n \"ten\",\n \"thousand\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":11,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 16,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.thousand)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "hundred",
+ "ten",
+ "thousand",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_9.plan
index a94c998d79..a539e6c8e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join0.test_/query_9.plan
@@ -1 +1,160 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join0.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.fault\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join0.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"fault (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.fault"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join0.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join0.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "fault (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join0.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_1.plan
index 60f0796142..2edac8b930 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_1.plan
@@ -1 +1,172 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"a (Asc)\",\n \"e (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "a (Asc)",
+ "e (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_10.plan
index c4dd905903..09dce165e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_10.plan
@@ -1 +1,167 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"j (Asc)\",\n \"t (Asc)\",\n \"k (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "j (Asc)",
+ "t (Asc)",
+ "k (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_11.plan
index fbbd5315ee..d5e4d60196 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_11.plan
@@ -1 +1,185 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"i\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"i\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"k (Asc)\",\n \"t (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "i"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "i"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "k (Asc)",
+ "t (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_12.plan
index 13cb58d916..c2d005173b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_12.plan
@@ -1 +1,186 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"i\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"i\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"k (Asc)\",\n \"t (Asc)\",\n \"j (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "i"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "i"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "k (Asc)",
+ "t (Asc)",
+ "j (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_13.plan
index c5f73d2502..92ca1eb5ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_13.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.J2_TBL.k == 1\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.J2_TBL.k == 1"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_14.plan
index 0681465af8..b91bc7fe49 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_14.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"i (1)\"\n ],\n \"scan_by\":\n [\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TablePointLookup\",\n \"Operators\":\n [\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRange\":\n [\n \"i (1)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TablePointLookup",
+ "Operators": [
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRange": [
+ "i (1)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "lookup_by": [
+ "i (1)"
+ ],
+ "scan_by": [
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_2.plan
index 71c3fbaa50..22b030c73c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_2.plan
@@ -1 +1,178 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"j (Asc)\",\n \"t (Asc)\",\n \"k (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "j (Asc)",
+ "t (Asc)",
+ "k (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_3.plan
index 71c3fbaa50..22b030c73c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_3.plan
@@ -1 +1,178 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"j (Asc)\",\n \"t (Asc)\",\n \"k (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "j (Asc)",
+ "t (Asc)",
+ "k (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_4.plan
index 1c942529e5..7e6da1a0b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_4.plan
@@ -1 +1,169 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.j)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"b (Asc)\",\n \"a (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.j)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "b (Asc)",
+ "a (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_5.plan
index 1a81f55e1a..4ecfb611bb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_5.plan
@@ -1 +1,171 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Limit-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Limit-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_6.plan
index f65c4e34ea..94776ea876 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_6.plan
@@ -1 +1,166 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.i\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.i"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "k"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "k"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_7.plan
index 7049ff0ea0..f6cdb8143c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_7.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"j (Asc)\",\n \"k (Asc)\",\n \"t (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "j (Asc)",
+ "k (Asc)",
+ "t (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_8.plan
index 7049ff0ea0..f6cdb8143c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_8.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"j (Asc)\",\n \"k (Asc)\",\n \"t (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "j (Asc)",
+ "k (Asc)",
+ "t (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_9.plan
index c4dd905903..09dce165e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join1.test_/query_9.plan
@@ -1 +1,167 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J1_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join1.test_plan\\/J2_TBL\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\",\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"j\",\n \"t\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"j (-\u221e, +\u221e)\",\n \"t (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J1_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\",\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\",\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join1.test_plan\\/J2_TBL\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"i (Asc)\",\n \"j (Asc)\",\n \"t (Asc)\",\n \"k (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J1_TBL"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J1_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i",
+ "k"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join1.test_plan/J2_TBL"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join1.test_plan/J2_TBL"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "i (Asc)",
+ "j (Asc)",
+ "t (Asc)",
+ "k (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J1_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "j",
+ "t"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "j (-\u221e, +\u221e)",
+ "t (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join1.test_plan/J2_TBL",
+ "reads": [
+ {
+ "columns": [
+ "i",
+ "k"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)",
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_1.plan
index b203063b46..52fa5552bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_1.plan
@@ -1 +1,273 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t3\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.name\"\n },\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"name\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"name\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"name\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"name\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t3\"\n }\n ],\n \"PlanNodeId\":13,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"name (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 20,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.name"
+ },
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "name"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "name"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "name"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "name"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t3"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "name (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t2",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t3",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_10.plan
index c24d09747c..fe05802000 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_10.plan
@@ -1 +1,291 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":23,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":22,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.x1\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":21,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":17\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"x1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x2)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 24,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 22,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.x1"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 21,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 20,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 17
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "x1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x2)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_11.plan
index f07cdf0947..242cdb8db2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_11.plan
@@ -1 +1,291 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":23,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":22,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.x1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y.y2)\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":21,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":17\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"x1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 24,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 22,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.x1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y.y2)"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 21,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 20,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 17
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "x1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_12.plan
index 14ce1d42dd..27df15b69d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_12.plan
@@ -1 +1,287 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":23,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":22,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.x1\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":21,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":17\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"x1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 24,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 22,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.x1"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 21,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 20,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 17
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "x1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_2.plan
index e87be8e598..874290f0d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_2.plan
@@ -1 +1,171 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t3\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.name\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.name)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t3\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t3\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"name (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.name)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t2\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "TopSort-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.name"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.name)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t3"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t3"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "name (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.name)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t2",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t3",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_3.plan
index 1095a7a123..2fc4dbfec6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_3.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t3\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.name\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.name)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t3\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"name (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.name)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t2\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.name"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.name)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t3"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "name (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.name)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t2",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t3",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_4.plan
index d86a6a6be9..03a37cea01 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_4.plan
@@ -1 +1,179 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/t3\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"n\",\n \"name\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-FullJoin (JoinDict)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.name\"\n },\n {\n \"Name\":\"FullJoin (JoinDict)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"name\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t3\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"KeyColumns\":\n [\n \"name\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"n\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\",\n \"n (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/t2\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/t2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"name (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-FullJoin (JoinDict)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.name"
+ },
+ {
+ "Name": "FullJoin (JoinDict)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "name"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t3"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "KeyColumns": [
+ "name"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "n",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/t2"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/t2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "name (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t2",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/t3",
+ "reads": [
+ {
+ "columns": [
+ "n",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)",
+ "n (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_5.plan
index bd0235ee4a..12b8fe25d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_5.plan
@@ -1 +1,87 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"x1 (Asc)\",\n \"x2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "x1 (Asc)",
+ "x2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_6.plan
index 3cf5add1ed..9c6609c520 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_6.plan
@@ -1 +1,87 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"y1 (-\u221e, +\u221e)\",\n \"y2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"y1 (-\u221e, +\u221e)\",\n \"y2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"y1 (Asc)\",\n \"y2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "y1 (-\u221e, +\u221e)",
+ "y2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "y1 (Asc)",
+ "y2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "y1 (-\u221e, +\u221e)",
+ "y2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_7.plan
index f11532c372..7e49622d54 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_7.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x2)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x2)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_8.plan
index a51f580246..21624a503c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_8.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y.y2)\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y.y2)"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_9.plan
index 14ce1d42dd..27df15b69d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join2.test_/query_9.plan
@@ -1 +1,287 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/x\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"x1\",\n \"x2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join2.test_plan\\/y\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"y1\",\n \"y2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":23,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":22,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.x1\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":21,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":20,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":19,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":17\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.y1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"y1\",\n \"y2\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/y\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/y\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"x1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x1\",\n \"x2\"\n ],\n \"ReadRanges\":\n [\n \"x1 (-\u221e, +\u221e)\",\n \"x2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join2.test_plan\\/x\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join2.test_plan\\/x\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 24,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 22,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.x1"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 21,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 20,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 19,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 17
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.y1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "y1",
+ "y2"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/y"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/y"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "x1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x1",
+ "x2"
+ ],
+ "ReadRanges": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join2.test_plan/x"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join2.test_plan/x"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/x",
+ "reads": [
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "x1",
+ "x2"
+ ],
+ "scan_by": [
+ "x1 (-\u221e, +\u221e)",
+ "x2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join2.test_plan/y",
+ "reads": [
+ {
+ "columns": [
+ "y1",
+ "y2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_1.plan
index 7b8f0f2e5e..62e620eca8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_1.plan
@@ -1 +1,160 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b.q1 \\u003E 0\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"q2 (Asc)\",\n \"q1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b.q1 > 0"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "q2 (Asc)",
+ "q1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_2.plan
index aec1150024..c128425eca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_2.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/child\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"k\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/parent\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"k\",\n \"pd\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.k\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/child\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/child\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"k (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"k\",\n \"pd\"\n ],\n \"ReadRanges\":\n [\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/parent\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/parent\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.k"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "k"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/child"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/child"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "k (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "k",
+ "pd"
+ ],
+ "ReadRanges": [
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/parent"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/parent"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/child",
+ "reads": [
+ {
+ "columns": [
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/parent",
+ "reads": [
+ {
+ "columns": [
+ "k",
+ "pd"
+ ],
+ "scan_by": [
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_3.plan
index 4323022a7e..b91fe636dd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_3.plan
@@ -1 +1,154 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/child\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"k\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/parent\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"k (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"k\",\n \"pd\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.k\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"k\"\n ],\n \"ReadRanges\":\n [\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/child\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/child\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"k\",\n \"pd\"\n ],\n \"ReadRanges\":\n [\n \"k (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/parent\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/parent\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"k (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.k"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "k"
+ ],
+ "ReadRanges": [
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/child"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/child"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "k",
+ "pd"
+ ],
+ "ReadRanges": [
+ "k (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/parent"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/parent"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "k (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/child",
+ "reads": [
+ {
+ "columns": [
+ "k"
+ ],
+ "scan_by": [
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/parent",
+ "reads": [
+ {
+ "columns": [
+ "k",
+ "pd"
+ ],
+ "scan_by": [
+ "k (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_4.plan
index 65d6914e9b..4b6e463dd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_4.plan
@@ -1 +1,209 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/child\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"k\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/parent\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"k [2, 1]\"\n ],\n \"columns\":\n [\n \"k\",\n \"pd\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/child\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/child\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableRangeScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"k\",\n \"pd\"\n ],\n \"ReadRange\":\n [\n \"k [2, 1]\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/parent\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/parent\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "k"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/child"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/child"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableRangeScan",
+ "Operators": [
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "k",
+ "pd"
+ ],
+ "ReadRange": [
+ "k [2, 1]"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/parent"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/parent"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/child",
+ "reads": [
+ {
+ "columns": [
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/parent",
+ "reads": [
+ {
+ "columns": [
+ "k",
+ "pd"
+ ],
+ "scan_by": [
+ "k [2, 1]"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_5.plan
index 01fd529142..8131a33e47 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_5.plan
@@ -1 +1,288 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/child\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"k\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/parent\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"k [2, 1]\"\n ],\n \"columns\":\n [\n \"k\",\n \"pd\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"k\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_4\",\n \"PlanNodeId\":26,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":25,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_4_0\",\n \"Node Type\":\"Limit-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/parent\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_3_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":23,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/parent\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_3\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":21,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.p_1.k)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":20\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_3_0\"\n },\n {\n \"Node Type\":\"Precompute_2\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"k\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/child\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/child\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_2_0\"\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.k)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableRangeScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"k\",\n \"pd\"\n ],\n \"ReadRange\":\n [\n \"k [2, 1]\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/parent\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/parent\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_4",
+ "PlanNodeId": 26,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 25,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 24,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_4_0",
+ "Node Type": "Limit-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "k"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/parent"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_3_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/parent"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_3",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 21,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.p_1.k)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 20
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_3_0"
+ },
+ {
+ "Node Type": "Precompute_2",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "k"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/child"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/child"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_2_0"
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.k)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableRangeScan",
+ "Operators": [
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "k",
+ "pd"
+ ],
+ "ReadRange": [
+ "k [2, 1]"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/parent"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/parent"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/child",
+ "reads": [
+ {
+ "columns": [
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/parent",
+ "reads": [
+ {
+ "columns": [
+ "k",
+ "pd"
+ ],
+ "scan_by": [
+ "k [2, 1]"
+ ],
+ "type": "Scan"
+ },
+ {
+ "columns": [
+ "k"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_6.plan
index 19e127c2e8..339363f586 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_6.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/qa\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"id\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/qb\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a_id\",\n \"id\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.qa.id \\u003E 0\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.id)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"id\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/qa\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/qa\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.a_id)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a_id\",\n \"id\"\n ],\n \"ReadRanges\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/qb\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/qb\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.qa.id > 0"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.id)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "id"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/qa"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/qa"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.a_id)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a_id",
+ "id"
+ ],
+ "ReadRanges": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/qb"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/qb"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/qa",
+ "reads": [
+ {
+ "columns": [
+ "id"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/qb",
+ "reads": [
+ {
+ "columns": [
+ "a_id",
+ "id"
+ ],
+ "scan_by": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_7.plan
index 19e127c2e8..339363f586 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_7.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/qa\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"id\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/qb\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a_id\",\n \"id\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.qa.id \\u003E 0\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.id)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"id\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/qa\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/qa\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.a_id)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a_id\",\n \"id\"\n ],\n \"ReadRanges\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/qb\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/qb\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.qa.id > 0"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.id)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "id"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/qa"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/qa"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.a_id)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a_id",
+ "id"
+ ],
+ "ReadRanges": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/qb"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/qb"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/qa",
+ "reads": [
+ {
+ "columns": [
+ "id"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/qb",
+ "reads": [
+ {
+ "columns": [
+ "a_id",
+ "id"
+ ],
+ "scan_by": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_8.plan
index 46a9a5b81a..882616df4a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join3.test_/query_8.plan
@@ -1 +1,139 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join3.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join3.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join3.test_plan\\/int8_tbl\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"[{x: 1}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":5\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"x (Asc)\",\n \"q1 (Asc)\",\n \"q2 (Asc)\",\n \"y (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)-TableFullScan",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join3.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join3.test_plan/int8_tbl"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "[{x: 1}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 5
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "x (Asc)",
+ "q1 (Asc)",
+ "q2 (Asc)",
+ "y (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join3.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_1.plan
index 3a4a7d9268..ae3f80c525 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_1.plan
@@ -1 +1,233 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/nt1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a1\",\n \"a2\",\n \"id\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/nt2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b1\",\n \"b2\",\n \"id\",\n \"nt1_id\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/nt3\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"id\",\n \"nt2_id\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"{b1: ExtractMembers.nt2.b1,b2: ExtractMembers.nt2.b2,b3: ExtractMembers.nt2.b1 And {a1: ExtractMembers.a1,a2: ExtractMembers.a2,a3: Exist(ExtractMembers.id),id: ExtractMembers.id}.a3,id: ExtractMembers.nt2.id,nt1_id: ExtractMembers.nt2.nt1_id}.b3\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":13,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a1\",\n \"a2\",\n \"id\"\n ],\n \"ReadRanges\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/nt1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/nt1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b1\",\n \"b2\",\n \"id\",\n \"nt1_id\"\n ],\n \"ReadRanges\":\n [\n \"id (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/nt2\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/nt2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"id\",\n \"nt2_id\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/nt3\"\n },\n {\n \"Iterator\":\"[{id: 1}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":11,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/nt3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 16,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "{b1: ExtractMembers.nt2.b1,b2: ExtractMembers.nt2.b2,b3: ExtractMembers.nt2.b1 And {a1: ExtractMembers.a1,a2: ExtractMembers.a2,a3: Exist(ExtractMembers.id),id: ExtractMembers.id}.a3,id: ExtractMembers.nt2.id,nt1_id: ExtractMembers.nt2.nt1_id}.b3"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a1",
+ "a2",
+ "id"
+ ],
+ "ReadRanges": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/nt1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/nt1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b1",
+ "b2",
+ "id",
+ "nt1_id"
+ ],
+ "ReadRanges": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/nt2"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/nt2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "id",
+ "nt2_id"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/nt3"
+ },
+ {
+ "Iterator": "[{id: 1}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/nt3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/nt1",
+ "reads": [
+ {
+ "columns": [
+ "a1",
+ "a2",
+ "id"
+ ],
+ "scan_by": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/nt2",
+ "reads": [
+ {
+ "columns": [
+ "b1",
+ "b2",
+ "id",
+ "nt1_id"
+ ],
+ "scan_by": [
+ "id (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/nt3",
+ "reads": [
+ {
+ "columns": [
+ "id",
+ "nt2_id"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_10.plan
index dcf75b4cb8..1909136d8a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_10.plan
@@ -1 +1,83 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/qrt3\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/qrt3\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/qrt3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/qrt3"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/qrt3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/qrt3",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_11.plan
index dcf75b4cb8..1909136d8a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_11.plan
@@ -1 +1,83 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/qrt3\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/qrt3\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/qrt3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/qrt3"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/qrt3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/qrt3",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_12.plan
index dcf75b4cb8..1909136d8a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_12.plan
@@ -1 +1,83 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/qrt3\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"x (-\u221e, +\u221e)\",\n \"y (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/qrt3\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/qrt3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/qrt3"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/qrt3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/qrt3",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "x (-\u221e, +\u221e)",
+ "y (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_13.plan
index 9ed1492960..c03800e421 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_13.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/qrt1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/qrt2\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.a)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/qrt2\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/qrt2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"a1 (Asc)\",\n \"b2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.a)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/qrt1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/qrt1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.a)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/qrt2"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/qrt2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "a1 (Asc)",
+ "b2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.a)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/qrt1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/qrt1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/qrt1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/qrt2",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_2.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_2.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_3.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_3.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_4.plan
index beaaa2a875..29a0c31f99 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_4.plan
@@ -1 +1,253 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/a\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"code (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"code\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/b\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"num (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/c\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"name (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"name\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.name\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"a\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"{_yql_agg_0: Inc(state._yql_agg_0)}\",\n \"GroupBy\":\"item.a\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"num (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/b\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/b\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"code\"\n ],\n \"ReadRanges\":\n [\n \"code (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/a\"\n }\n ],\n \"PlanNodeId\":7,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/a\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"name\"\n ],\n \"ReadRanges\":\n [\n \"name (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/c\"\n }\n ],\n \"PlanNodeId\":13,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/c\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"name (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.name"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "a"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "{_yql_agg_0: Inc(state._yql_agg_0)}",
+ "GroupBy": "item.a",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "num (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/b"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/b"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "code"
+ ],
+ "ReadRanges": [
+ "code (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/a"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/a"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "name"
+ ],
+ "ReadRanges": [
+ "name (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/c"
+ }
+ ],
+ "PlanNodeId": 13,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/c"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "name (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/a",
+ "reads": [
+ {
+ "columns": [
+ "code"
+ ],
+ "scan_by": [
+ "code (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/b",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "num (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/c",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "name"
+ ],
+ "scan_by": [
+ "name (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_5.plan
index c74cb44a01..0618f58bf6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_5.plan
@@ -1 +1,209 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tqa\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"i\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tqb\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"x\",\n \"y\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.x) And Exist(item.y)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"x\",\n \"y\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tqb\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tqb\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.i == item.i And Exist(item.i)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"i\"\n ],\n \"ReadRanges\":\n [\n \"i (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tqa\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tqa\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 18,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.x) And Exist(item.y)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "x",
+ "y"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tqb"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tqb"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.i == item.i And Exist(item.i)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "i"
+ ],
+ "ReadRanges": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tqa"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tqa"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tqa",
+ "reads": [
+ {
+ "columns": [
+ "i"
+ ],
+ "scan_by": [
+ "i (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tqb",
+ "reads": [
+ {
+ "columns": [
+ "x",
+ "y"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_6.plan
index e77d4ab107..a441a639c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_6.plan
@@ -1 +1,335 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/zt1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/zt2\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"f2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/zt3\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"f3\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_4\",\n \"PlanNodeId\":32,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":31,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":30,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":29,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":28,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_4_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_2_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":27\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":26,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":25,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":24,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_4_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.f1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/zt1\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_3_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":23,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/zt1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_3\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":21,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.zt3.f3)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":20\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_3_0\"\n },\n {\n \"Node Type\":\"Precompute_2\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":18,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":17,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":16,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":15,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":14,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":13\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.f3)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"f3\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/zt3\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/zt3\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_2_0\"\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.f2)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"f2\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/zt2\"\n },\n {\n \"Iterator\":\"[{f2: 53}]\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/zt2\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_4",
+ "PlanNodeId": 32,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 31,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 30,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 29,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 28,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_4_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_2_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 27
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 26,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 25,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 24,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_4_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.f1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "f1"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/zt1"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_3_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 23,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/zt1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_3",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 21,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.zt3.f3)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 20
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_3_0"
+ },
+ {
+ "Node Type": "Precompute_2",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 18,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 17,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 16,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 15,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 14,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 13
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 12,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.f3)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "f3"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/zt3"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/zt3"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_2_0"
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.f2)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "f2"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/zt2"
+ },
+ {
+ "Iterator": "[{f2: 53}]",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/zt2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/zt1",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/zt2",
+ "reads": [
+ {
+ "columns": [
+ "f2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/zt3",
+ "reads": [
+ {
+ "columns": [
+ "f3"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_7.plan
index ce34bfb66b..870008a0c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_7.plan
@@ -1 +1,171 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tt5\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\",\n \"f2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\",\n \"f2\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tt6\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"columns\":\n [\n \"f1\",\n \"f2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_2\",\n \"PlanNodeId\":12,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":11,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_2_0\",\n \"Node Type\":\"Limit-Filter-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.tt5.f1 == item.tt5.f2 - item.tt6.f2\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.f1)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"f1\",\n \"f2\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tt6\"\n },\n {\n \"Iterator\":\"%kqp%tx_result_binding_1_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":9,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tt6\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-Limit\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.f1)\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":6\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_1_0\"\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\",\n \"f2\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\",\n \"f2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tt5\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tt5\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_2",
+ "PlanNodeId": 12,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 11,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 10,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_2_0",
+ "Node Type": "Limit-Filter-InnerJoin (MapJoin)-Filter-TablePointLookup-ConstantExpr",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.tt5.f1 == item.tt5.f2 - item.tt6.f2"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.f1)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "f1",
+ "f2"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tt6"
+ },
+ {
+ "Iterator": "%kqp%tx_result_binding_1_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tt6"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Filter-Limit",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.f1)"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_1_0"
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1",
+ "f2"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)",
+ "f2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tt5"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tt5"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tt5",
+ "reads": [
+ {
+ "columns": [
+ "f1",
+ "f2"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)",
+ "f2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tt6",
+ "reads": [
+ {
+ "columns": [
+ "f1",
+ "f2"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_8.plan
index 17d0fdf99c..4f3c682839 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_8.plan
@@ -1 +1,156 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tt1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"tt1_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"joincol\",\n \"tt1_id\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tt2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"tt2_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"joincol\",\n \"tt2_id\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"joincol\",\n \"tt2_id\"\n ],\n \"ReadRanges\":\n [\n \"tt2_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tt2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tt2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"joincol\",\n \"tt1_id\"\n ],\n \"ReadRanges\":\n [\n \"tt1_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tt1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tt1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "joincol",
+ "tt2_id"
+ ],
+ "ReadRanges": [
+ "tt2_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tt2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tt2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "joincol",
+ "tt1_id"
+ ],
+ "ReadRanges": [
+ "tt1_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tt1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tt1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tt1",
+ "reads": [
+ {
+ "columns": [
+ "joincol",
+ "tt1_id"
+ ],
+ "scan_by": [
+ "tt1_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tt2",
+ "reads": [
+ {
+ "columns": [
+ "joincol",
+ "tt2_id"
+ ],
+ "scan_by": [
+ "tt2_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_9.plan
index 17d0fdf99c..4f3c682839 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-jointest_join4.test_/query_9.plan
@@ -1 +1,156 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tt1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"tt1_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"joincol\",\n \"tt1_id\"\n ]\n }\n ]\n },\n {\n \"name\":\"\\/Root\\/postgres_jointest\\/join4.test_plan\\/tt2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"tt2_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"joincol\",\n \"tt2_id\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-LeftJoin (MapJoin)\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"LeftJoin (MapJoin)\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Collect\",\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"joincol\",\n \"tt2_id\"\n ],\n \"ReadRanges\":\n [\n \"tt2_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tt2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tt2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"joincol\",\n \"tt1_id\"\n ],\n \"ReadRanges\":\n [\n \"tt1_id (-\u221e, +\u221e)\",\n \"joincol (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_jointest\\/join4.test_plan\\/tt1\"\n }\n ],\n \"PlanNodeId\":5,\n \"Tables\":\n [\n \"postgres_jointest\\/join4.test_plan\\/tt1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-LeftJoin (MapJoin)",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "LeftJoin (MapJoin)"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Collect",
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "joincol",
+ "tt2_id"
+ ],
+ "ReadRanges": [
+ "tt2_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tt2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tt2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "joincol",
+ "tt1_id"
+ ],
+ "ReadRanges": [
+ "tt1_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_jointest/join4.test_plan/tt1"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Tables": [
+ "postgres_jointest/join4.test_plan/tt1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tt1",
+ "reads": [
+ {
+ "columns": [
+ "joincol",
+ "tt1_id"
+ ],
+ "scan_by": [
+ "tt1_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ },
+ {
+ "name": "/Root/postgres_jointest/join4.test_plan/tt2",
+ "reads": [
+ {
+ "columns": [
+ "joincol",
+ "tt2_id"
+ ],
+ "scan_by": [
+ "tt2_id (-\u221e, +\u221e)",
+ "joincol (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_1.plan
index fd777043df..a5cce68894 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_1.plan
@@ -1 +1,114 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, 10)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRange\":\n [\n \"unique1 (-\u221e, 10)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadLimit": "1001",
+ "ReadRange": [
+ "unique1 (-\u221e, 10)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "unique1 (-\u221e, 10)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_10.plan
index f4f7987fb6..a3128041c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_10.plan
@@ -1 +1,83 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"stringu1\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique1\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRange\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique1"
+ ],
+ "ReadLimit": "1001",
+ "ReadRange": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique1"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_11.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_11.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_12.plan
index 4de4e3f4c9..86d6a1aed6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_12.plan
@@ -1 +1,116 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-InnerJoin (MapJoin)-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"InnerJoin (MapJoin)\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.stringu1) And Exist(item.unique1)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-InnerJoin (MapJoin)-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "InnerJoin (MapJoin)"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.stringu1) And Exist(item.unique1)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_13.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_13.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_14.plan
index bb8bfb045b..3b361b8f7a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_14.plan
@@ -1 +1,150 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/int8_tbl\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"q1\",\n \"q2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Sort-Union\",\n \"Operators\":\n [\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"\"\n },\n {\n \"Name\":\"Union\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"q1\",\n \"q2\"\n ],\n \"ReadRanges\":\n [\n \"q1 (-\u221e, +\u221e)\",\n \"q2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/int8_tbl\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/int8_tbl\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"column0 (Asc)\",\n \"column1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"column0 (Asc)\",\n \"column1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Sort-Union",
+ "Operators": [
+ {
+ "Name": "Sort",
+ "SortBy": ""
+ },
+ {
+ "Name": "Union"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "q1",
+ "q2"
+ ],
+ "ReadRanges": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/int8_tbl"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/int8_tbl"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "column0 (Asc)",
+ "column1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "column0 (Asc)",
+ "column1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/int8_tbl",
+ "reads": [
+ {
+ "columns": [
+ "q1",
+ "q2"
+ ],
+ "scan_by": [
+ "q1 (-\u221e, +\u221e)",
+ "q2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_15.plan
index 2f2bf0ce96..4f823a45b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_15.plan
@@ -1 +1,80 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/foo\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/foo\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/foo\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"f1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/foo"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/foo"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "f1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/foo",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_16.plan
index 2f2bf0ce96..4f823a45b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_16.plan
@@ -1 +1,80 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/foo\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/foo\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/foo\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"f1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/foo"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/foo"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "f1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/foo",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_17.plan
index 8438d70fc6..33bf196d07 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_17.plan
@@ -1 +1,82 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/foo\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"reverse\":true,\n \"columns\":\n [\n \"f1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"f1\"\n ],\n \"ReadRanges\":\n [\n \"f1 (-\u221e, +\u221e)\"\n ],\n \"Reverse\":true,\n \"Table\":\"postgres_select.test_plan\\/foo\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/foo\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"f1 (Desc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "f1"
+ ],
+ "ReadRanges": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "Reverse": true,
+ "Table": "postgres_select.test_plan/foo"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/foo"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "f1 (Desc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/foo",
+ "reads": [
+ {
+ "columns": [
+ "f1"
+ ],
+ "reverse": true,
+ "scan_by": [
+ "f1 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_18.plan
index d64edf520f..fcb97a9954 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_18.plan
@@ -1 +1,113 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 == \\\"ATAAAA\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 == \"ATAAAA\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_19.plan
index 0ca5b0698f..58f8d4e6a1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_19.plan
@@ -1 +1,85 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 == \\\"ATAAAA\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 == \"ATAAAA\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_2.plan
index 849e09d2aa..85ea297190 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_2.plan
@@ -1 +1,88 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"reverse\":true,\n \"columns\":\n [\n \"stringu1\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique1\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRange\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Reverse\":true,\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique1 (Desc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique1"
+ ],
+ "ReadLimit": "1001",
+ "ReadRange": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Reverse": true,
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique1 (Desc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique1"
+ ],
+ "limit": "1001",
+ "reverse": true,
+ "scan_by": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_20.plan
index 7c0dc14086..20e028d294 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_20.plan
@@ -1 +1,113 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 \\u003C \\\"B\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 < \"B\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_21.plan
index 160e490af6..d75edfeff3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_21.plan
@@ -1 +1,85 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 \\u003C \\\"B\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 < \"B\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_22.plan
index 0eb3976f1b..18e113ae9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_22.plan
@@ -1 +1,85 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 \\u003C \\\"C\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 < \"C\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_23.plan
index 160e490af6..d75edfeff3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_23.plan
@@ -1 +1,85 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 \\u003C \\\"B\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 < \"B\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_24.plan
index 36e9019a4b..b8065d3f14 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_24.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.unique2\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 Or item.unique1 == 0 And item.stringu1 \\u003C \\\"B\\\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.unique2"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 Or item.unique1 == 0 And item.stringu1 < \"B\""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_25.plan
index 4260e51838..e9553bc88b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_25.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.unique2\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.unique2 == 11 And item.stringu1 \\u003C \\\"B\\\" Or item.unique1 == 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.unique2"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.unique2 == 11 And item.stringu1 < \"B\" Or item.unique1 == 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique1",
+ "unique2"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique1",
+ "unique2"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_26.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_26.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_27.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_27.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_3.plan
index 14f24afdc9..1616b3718e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_3.plan
@@ -1 +1,85 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"stringu1\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.stringu1\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique1\"\n ],\n \"ReadRange\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"stringu1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.stringu1"
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique1"
+ ],
+ "ReadRange": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "stringu1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique1"
+ ],
+ "scan_by": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_4.plan
index 2297c0f5fd..6fdaa30758 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_4.plan
@@ -1 +1,86 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"string4\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"string4\",\n \"unique1\"\n ],\n \"ReadRange\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"string4 (Asc)\",\n \"unique1 (Desc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "string4",
+ "unique1"
+ ],
+ "ReadRange": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "string4 (Asc)",
+ "unique1 (Desc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "string4",
+ "unique1"
+ ],
+ "scan_by": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_5.plan
index 2c6743c9e2..9e3395a878 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_5.plan
@@ -1 +1,86 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"string4\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"string4\",\n \"unique1\"\n ],\n \"ReadRange\":\n [\n \"unique1 (980, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"string4 (Desc)\",\n \"unique1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "string4",
+ "unique1"
+ ],
+ "ReadRange": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "string4 (Desc)",
+ "unique1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "string4",
+ "unique1"
+ ],
+ "scan_by": [
+ "unique1 (980, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_6.plan
index db3b66a5aa..1a0578452c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_6.plan
@@ -1 +1,86 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"string4\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"string4\",\n \"unique1\"\n ],\n \"ReadRange\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique1 (Desc)\",\n \"string4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "string4",
+ "unique1"
+ ],
+ "ReadRange": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique1 (Desc)",
+ "string4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "string4",
+ "unique1"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_7.plan
index 810ebe847a..069f9ae239 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_7.plan
@@ -1 +1,86 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"string4\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"string4\",\n \"unique1\"\n ],\n \"ReadRange\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique1 (Asc)\",\n \"string4 (Desc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "string4",
+ "unique1"
+ ],
+ "ReadRange": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique1 (Asc)",
+ "string4 (Desc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "string4",
+ "unique1"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_8.plan
index 7a8f01250f..bfa88f266d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_8.plan
@@ -1 +1,114 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"10\",\n \"columns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"10\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"10\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"even\",\n \"fivethous\",\n \"four\",\n \"hundred\",\n \"odd\",\n \"string4\",\n \"stringu1\",\n \"stringu2\",\n \"ten\",\n \"tenthous\",\n \"thousand\",\n \"twenty\",\n \"two\",\n \"twothousand\",\n \"unique1\",\n \"unique2\"\n ],\n \"ReadLimit\":\"10\",\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "10",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "10",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "ReadLimit": "10",
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "even",
+ "fivethous",
+ "four",
+ "hundred",
+ "odd",
+ "string4",
+ "stringu1",
+ "stringu2",
+ "ten",
+ "tenthous",
+ "thousand",
+ "twenty",
+ "two",
+ "twothousand",
+ "unique1",
+ "unique2"
+ ],
+ "limit": "10",
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_9.plan
index e4e04a6ca5..d91ef934da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select.test_/query_9.plan
@@ -1 +1,88 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select.test_plan\\/onek2\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"reverse\":true,\n \"columns\":\n [\n \"stringu1\",\n \"unique1\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableRangeScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableRangeScan\",\n \"ReadColumns\":\n [\n \"stringu1\",\n \"unique1\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRange\":\n [\n \"unique1 (-\u221e, 20)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Reverse\":true,\n \"Table\":\"postgres_select.test_plan\\/onek2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select.test_plan\\/onek2\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"unique1 (Desc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableRangeScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableRangeScan",
+ "ReadColumns": [
+ "stringu1",
+ "unique1"
+ ],
+ "ReadLimit": "1001",
+ "ReadRange": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Reverse": true,
+ "Table": "postgres_select.test_plan/onek2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select.test_plan/onek2"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "unique1 (Desc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select.test_plan/onek2",
+ "reads": [
+ {
+ "columns": [
+ "stringu1",
+ "unique1"
+ ],
+ "limit": "1001",
+ "reverse": true,
+ "scan_by": [
+ "unique1 (-\u221e, 20)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_1.plan
index 2287683ac1..d294faad82 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_1.plan
@@ -1 +1,109 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select_distinct.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"two\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.two\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"two\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"state\",\n \"GroupBy\":\"row.two\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"two\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select_distinct.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select_distinct.test_plan\\/onek\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"two (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.two"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "two"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "state",
+ "GroupBy": "row.two",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "two"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select_distinct.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select_distinct.test_plan/onek"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "two (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select_distinct.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "two"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_2.plan
index b19708a8d5..e022f8be16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_2.plan
@@ -1 +1,109 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select_distinct.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"ten\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.ten\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"ten\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"state\",\n \"GroupBy\":\"row.ten\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"ten\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select_distinct.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select_distinct.test_plan\\/onek\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"ten (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.ten"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "ten"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "state",
+ "GroupBy": "row.ten",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "ten"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select_distinct.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select_distinct.test_plan/onek"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "ten (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select_distinct.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "ten"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_3.plan
index a42808d1a9..db2590470e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_3.plan
@@ -1 +1,109 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select_distinct.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"string4\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.string4\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"string4\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"state\",\n \"GroupBy\":\"row.string4\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"string4\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select_distinct.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select_distinct.test_plan\\/onek\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"string4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.string4"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "string4"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "state",
+ "GroupBy": "row.string4",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "string4"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select_distinct.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select_distinct.test_plan/onek"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "string4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select_distinct.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "string4"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_4.plan
index 5858c94632..49225a4b1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_4.plan
@@ -1 +1,117 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select_distinct.test_plan\\/onek\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"string4\",\n \"ten\",\n \"two\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"string4\",\n \"ten\",\n \"two\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"state\",\n \"GroupBy\":\"\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"string4\",\n \"ten\",\n \"two\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select_distinct.test_plan\\/onek\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select_distinct.test_plan\\/onek\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"two (Asc)\",\n \"string4 (Asc)\",\n \"ten (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "string4",
+ "ten",
+ "two"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "state",
+ "GroupBy": "",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "string4",
+ "ten",
+ "two"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select_distinct.test_plan/onek"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select_distinct.test_plan/onek"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "two (Asc)",
+ "string4 (Asc)",
+ "ten (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select_distinct.test_plan/onek",
+ "reads": [
+ {
+ "columns": [
+ "string4",
+ "ten",
+ "two"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_5.plan
index 971dc19f60..037464b002 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-select_distinct.test_/query_5.plan
@@ -1 +1,113 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_select_distinct.test_plan\\/tenk1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"four\",\n \"two\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"four\",\n \"two\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"state\",\n \"GroupBy\":\"\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"four\",\n \"two\"\n ],\n \"ReadRanges\":\n [\n \"unique1 (-\u221e, +\u221e)\",\n \"unique2 (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_select_distinct.test_plan\\/tenk1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_select_distinct.test_plan\\/tenk1\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "four",
+ "two"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "state",
+ "GroupBy": "",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "four",
+ "two"
+ ],
+ "ReadRanges": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_select_distinct.test_plan/tenk1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_select_distinct.test_plan/tenk1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_select_distinct.test_plan/tenk1",
+ "reads": [
+ {
+ "columns": [
+ "four",
+ "two"
+ ],
+ "scan_by": [
+ "unique1 (-\u221e, +\u221e)",
+ "unique2 (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_1.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_1.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_10.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_10.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_11.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_11.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_12.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_12.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_13.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_13.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_14.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_14.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_15.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_15.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_16.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_16.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_17.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_17.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_18.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_18.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_19.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_19.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_2.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_2.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_20.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_20.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_21.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_21.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_22.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_22.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_23.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_23.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_24.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_24.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_25.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_25.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_26.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_26.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_27.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_27.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_28.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_28.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_29.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_29.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_3.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_3.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_30.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_30.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_31.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_31.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_32.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_32.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_33.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_33.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_34.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_34.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_35.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_35.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_36.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_36.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_37.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_37.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_38.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_38.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_39.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_39.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_4.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_4.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_40.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_40.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_41.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_41.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_42.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_42.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_43.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_43.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_44.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_44.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_45.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_45.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_5.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_5.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_6.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_6.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_7.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_7.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_8.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_8.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_9.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-strings.test_/query_9.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_1.plan
index 39d804ab7b..3e32745730 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_1.plan
@@ -1 +1,131 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.nsum\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Sort\",\n \"Operators\":\n [\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.salary\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"depname (Asc)\",\n \"salary (Asc)\",\n \"empno (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 8,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.nsum"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Sort",
+ "Operators": [
+ {
+ "Name": "Sort",
+ "SortBy": "row.salary"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "depname (Asc)",
+ "salary (Asc)",
+ "empno (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_2.plan
index af63e04493..135b1637fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_2.plan
@@ -1 +1,109 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.salary\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"depname (Asc)\",\n \"rank (Asc)\",\n \"empno (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.salary"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "depname (Asc)",
+ "rank (Asc)",
+ "empno (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_3.plan
index af63e04493..135b1637fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_3.plan
@@ -1 +1,109 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.salary\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"depname (Asc)\",\n \"rank (Asc)\",\n \"empno (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.salary"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "depname (Asc)",
+ "rank (Asc)",
+ "empno (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_4.plan
index 0bf01d0447..5a89b3629a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_4.plan
@@ -1 +1,108 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.salary\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"depname\",\n \"empno\",\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"rank (Asc)\",\n \"empno (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.salary"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "rank (Asc)",
+ "empno (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "depname",
+ "empno",
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_5.plan
index d8dafb9b95..3a653a2964 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_5.plan
@@ -1 +1,147 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"depname\",\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":10,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":9,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":8,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.row_number\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.depname\"\n }\n ],\n \"PlanNodeId\":7,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Sort\",\n \"Operators\":\n [\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.depname\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Aggregation\":\"{_yql_agg_0: SUM(item.salary)}\",\n \"GroupBy\":\"item.depname\",\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"depname\",\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"row_number (Desc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 10,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 9,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 8,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.row_number"
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.depname"
+ }
+ ],
+ "PlanNodeId": 7,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Sort",
+ "Operators": [
+ {
+ "Name": "Sort",
+ "SortBy": "row.depname"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Aggregation": "{_yql_agg_0: SUM(item.salary)}",
+ "GroupBy": "item.depname",
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "depname",
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "row_number (Desc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "depname",
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_6.plan
index 65dfd416f2..3c5c2ded45 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_6.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.salary\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.salary"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_7.plan
index 9ce8ffcfba..8c71ad2171 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_plan-window.test_/query_7.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/postgres_window.test_plan\\/empsalary\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"depname\",\n \"salary\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":5,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-Sort\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Sort\",\n \"SortBy\":\"row.salary\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"KeyColumns\":\n [\n \"depname\"\n ],\n \"Node Type\":\"HashShuffle\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"depname\",\n \"salary\"\n ],\n \"ReadRanges\":\n [\n \"empno (-\u221e, +\u221e)\"\n ],\n \"Table\":\"postgres_window.test_plan\\/empsalary\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"postgres_window.test_plan\\/empsalary\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 6,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 5,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-Sort",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Sort",
+ "SortBy": "row.salary"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "KeyColumns": [
+ "depname"
+ ],
+ "Node Type": "HashShuffle",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "depname",
+ "salary"
+ ],
+ "ReadRanges": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "Table": "postgres_window.test_plan/empsalary"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "postgres_window.test_plan/empsalary"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/postgres_window.test_plan/empsalary",
+ "reads": [
+ {
+ "columns": [
+ "depname",
+ "salary"
+ ],
+ "scan_by": [
+ "empno (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_12 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_12
index 5aa31a9185..70ab044192 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_12
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_12
@@ -1,22 +1,22 @@
[
{
+ "Category": "one",
"Five": 1,
- "Value": 1,
- "Category": "one"
+ "Value": 1
},
{
+ "Category": "two",
"Five": 1,
- "Value": 2,
- "Category": "two"
+ "Value": 2
},
{
+ "Category": "big",
"Five": 1,
- "Value": 3,
- "Category": "big"
+ "Value": 3
},
{
+ "Category": "big",
"Five": 1,
- "Value": 4,
- "Category": "big"
+ "Value": 4
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_13 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_13
index 8ab8638032..9a7de4e053 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_13
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_13
@@ -1,18 +1,18 @@
[
{
- "Five": 1,
- "Category": "one"
+ "Category": "one",
+ "Five": 1
},
{
- "Five": 1,
- "Category": "two"
+ "Category": "two",
+ "Five": 1
},
{
- "Five": 1,
- "Category": "big"
+ "Category": "big",
+ "Five": 1
},
{
- "Five": 1,
- "Category": "big"
+ "Category": "big",
+ "Five": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_14 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_14
index dad5120c93..d51d587b61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_14
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_14
@@ -1,6 +1,6 @@
[
{
- "i": 4,
- "f": null
+ "f": null,
+ "i": 4
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_2 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_2
index 49184a8bdf..446b4438f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_2
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_2
@@ -1,6 +1,6 @@
[
{
- "One": 4,
- "ELSE_default": 4
+ "ELSE_default": 4,
+ "One": 4
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_4
index 0382f344d0..06c673f843 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_4
@@ -1,6 +1,6 @@
[
{
- "NonR": 7,
- "NULL_on_no_matches": null
+ "NULL_on_no_matches": null,
+ "NonR": 7
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_8 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_8
index a524a45eae..f964042ff7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_8
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-case.test_/query_8
@@ -1,18 +1,18 @@
[
{
- "ft": 2,
- "column1": null
+ "column1": null,
+ "ft": 2
},
{
- "ft": 2,
- "column1": null
+ "column1": null,
+ "ft": 2
},
{
- "ft": 2,
- "column1": null
+ "column1": null,
+ "ft": 2
},
{
- "ft": 2,
- "column1": null
+ "column1": null,
+ "ft": 2
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_1 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_1
index 6510f337d6..82db2bfc12 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_1
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_1
@@ -1,10 +1,10 @@
[
{
- "pv_x": 1,
- "a_y": 101
+ "a_y": 101,
+ "pv_x": 1
},
{
- "pv_x": 2,
- "a_y": 201
+ "a_y": 201,
+ "pv_x": 2
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_2 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_2
index 7b78850cdf..6de1eab62e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_2
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_2
@@ -1,10 +1,10 @@
[
{
- "pv_x": 1,
- "a_y": 101
+ "a_y": 101,
+ "pv_x": 1
},
{
- "pv_x": null,
- "a_y": 201
+ "a_y": 201,
+ "pv_x": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_3 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_3
index 080568a582..b62867415c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_3
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_3
@@ -1,10 +1,10 @@
[
{
- "pv_x": 1,
- "a_y": 101
+ "a_y": 101,
+ "pv_x": 1
},
{
- "pv_x": 2,
- "a_y": null
+ "a_y": null,
+ "pv_x": 2
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_4
index a7580aa56c..4ed425aba5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_coalesce-and-join.test_/query_4
@@ -1,14 +1,14 @@
[
{
- "yy_pkyy": 101,
- "xx_pkxx": 1
+ "xx_pkxx": 1,
+ "yy_pkyy": 101
},
{
- "yy_pkyy": 201,
- "xx_pkxx": 2
+ "xx_pkxx": 2,
+ "yy_pkyy": 201
},
{
- "yy_pkyy": 301,
- "xx_pkxx": 3
+ "xx_pkxx": 3,
+ "yy_pkyy": 301
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_1 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_1
index a12c652716..8a69ca652f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_1
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_1
@@ -1,10 +1,10 @@
[
{
- "x": 1,
- "column1": 1
+ "column1": 1,
+ "x": 1
},
{
- "x": 2,
- "column1": 0
+ "column1": 0,
+ "x": 2
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_2 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_2
index d34fac87f9..445885c142 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_2
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_2
@@ -1,18 +1,18 @@
[
{
- "q2": -4567890123456789,
- "cnt": 1
+ "cnt": 1,
+ "q2": -4567890123456789
},
{
- "q2": 123,
- "cnt": 2
+ "cnt": 2,
+ "q2": 123
},
{
- "q2": 456,
- "cnt": 1
+ "cnt": 1,
+ "q2": 456
},
{
- "q2": 4567890123456789,
- "cnt": 6
+ "cnt": 6,
+ "q2": 4567890123456789
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_3 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_3
index 82bf74672b..dde52d53dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_3
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_3
@@ -1,18 +1,18 @@
[
{
- "q2": -4567890123456789,
- "cnt": 0
+ "cnt": 0,
+ "q2": -4567890123456789
},
{
- "q2": 123,
- "cnt": 2
+ "cnt": 2,
+ "q2": 123
},
{
- "q2": 456,
- "cnt": 0
+ "cnt": 0,
+ "q2": 456
},
{
- "q2": 4567890123456789,
- "cnt": 6
+ "cnt": 6,
+ "q2": 4567890123456789
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_4
index 82bf74672b..dde52d53dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_4
@@ -1,18 +1,18 @@
[
{
- "q2": -4567890123456789,
- "cnt": 0
+ "cnt": 0,
+ "q2": -4567890123456789
},
{
- "q2": 123,
- "cnt": 2
+ "cnt": 2,
+ "q2": 123
},
{
- "q2": 456,
- "cnt": 0
+ "cnt": 0,
+ "q2": 456
},
{
- "q2": 4567890123456789,
- "cnt": 6
+ "cnt": 6,
+ "q2": 4567890123456789
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_5 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_5
index f3bf9d557c..e31c1fedb0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_5
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join-group-by-with-null.test_/query_5
@@ -1,18 +1,18 @@
[
{
- "q2": -4567890123456789,
- "column1": 0
+ "column1": 0,
+ "q2": -4567890123456789
},
{
- "q2": 123,
- "column1": 2
+ "column1": 2,
+ "q2": 123
},
{
- "q2": 456,
- "column1": 0
+ "column1": 0,
+ "q2": 456
},
{
- "q2": 4567890123456789,
- "column1": 6
+ "column1": 6,
+ "q2": 4567890123456789
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_11 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_11
index e8587f0be3..77e4225e40 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_11
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_11
@@ -1,7 +1,7 @@
[
{
+ "column2": 0,
"f1": 0,
- "unique2": 0,
- "column2": 0
+ "unique2": 0
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_13 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_13
index f53d31cd2e..762138a564 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_13
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_13
@@ -1,12 +1,12 @@
[
{
+ "bug_field": 666,
"foo1_id": 0,
- "foo3_id": 0,
- "bug_field": 666
+ "foo3_id": 0
},
{
+ "bug_field": null,
"foo1_id": 1,
- "foo3_id": null,
- "bug_field": null
+ "foo3_id": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_14 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_14
index 5e269270dc..35a3ca2d27 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_14
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_14
@@ -1,21 +1,21 @@
[
{
- "id": 1,
- "unique1": 1,
- "unique2": 2838,
- "two": 1,
+ "even": 3,
+ "fivethous": 1,
"four": 1,
- "ten": 1,
- "twenty": 1,
"hundred": 1,
- "thousand": 1,
- "twothousand": 1,
- "fivethous": 1,
- "tenthous": 1,
+ "id": 1,
"odd": 2,
- "even": 3,
+ "string4": "OOOOxx",
"stringu1": "BAAAAA",
"stringu2": "EFEAAA",
- "string4": "OOOOxx"
+ "ten": 1,
+ "tenthous": 1,
+ "thousand": 1,
+ "twenty": 1,
+ "two": 1,
+ "twothousand": 1,
+ "unique1": 1,
+ "unique2": 2838
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_6 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_6
index 01f73e3edb..46b971b1ed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_6
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_6
@@ -1,8 +1,8 @@
[
{
- "unique2": 11,
"stringu1": "WFAAAA",
+ "stringu2": "LKIAAA",
"unique1": 3,
- "stringu2": "LKIAAA"
+ "unique2": 11
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_9 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_9
index 6d0829ea15..be46d32341 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_9
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join0.test_/query_9
@@ -1,7 +1,7 @@
[
{
- "unique1": null,
+ "fault": 122,
"q1": 123,
- "fault": 122
+ "unique1": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1
index 887dd2c9c9..ed8ee1e028 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_1
@@ -1,26 +1,26 @@
[
{
- "name": "bb",
"n1": 11,
"n2": 12,
- "n3": 13
+ "n3": 13,
+ "name": "bb"
},
{
- "name": "cc",
"n1": null,
"n2": 22,
- "n3": 23
+ "n3": 23,
+ "name": "cc"
},
{
- "name": "dd",
"n1": null,
"n2": null,
- "n3": 33
+ "n3": 33,
+ "name": "dd"
},
{
- "name": "ee",
"n1": null,
"n2": 42,
- "n3": null
+ "n3": null,
+ "name": "ee"
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_10 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_10
index 19d939dd1b..a81c31fde9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_10
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_10
@@ -2,25 +2,25 @@
{
"x1": 1,
"x2": 11,
- "y1": 1,
- "y2": 111,
"xx1": 1,
- "xx2": 11
+ "xx2": 11,
+ "y1": 1,
+ "y2": 111
},
{
"x1": 2,
"x2": 22,
- "y1": 2,
- "y2": 222,
"xx1": 2,
- "xx2": 22
+ "xx2": 22,
+ "y1": 2,
+ "y2": 222
},
{
"x1": 4,
"x2": 44,
- "y1": 4,
- "y2": null,
"xx1": 4,
- "xx2": 44
+ "xx2": 44,
+ "y1": 4,
+ "y2": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_11 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_11
index 6cf72154eb..1bc710d51e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_11
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_11
@@ -2,25 +2,25 @@
{
"x1": 1,
"x2": 11,
- "y1": 1,
- "y2": 111,
"xx1": 1,
- "xx2": 11
+ "xx2": 11,
+ "y1": 1,
+ "y2": 111
},
{
"x1": 2,
"x2": 22,
- "y1": 2,
- "y2": 222,
"xx1": 2,
- "xx2": 22
+ "xx2": 22,
+ "y1": 2,
+ "y2": 222
},
{
"x1": 3,
"x2": null,
- "y1": 3,
- "y2": 333,
"xx1": 3,
- "xx2": null
+ "xx2": null,
+ "y1": 3,
+ "y2": 333
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_12 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_12
index 19d939dd1b..a81c31fde9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_12
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_12
@@ -2,25 +2,25 @@
{
"x1": 1,
"x2": 11,
- "y1": 1,
- "y2": 111,
"xx1": 1,
- "xx2": 11
+ "xx2": 11,
+ "y1": 1,
+ "y2": 111
},
{
"x1": 2,
"x2": 22,
- "y1": 2,
- "y2": 222,
"xx1": 2,
- "xx2": 22
+ "xx2": 22,
+ "y1": 2,
+ "y2": 222
},
{
"x1": 4,
"x2": 44,
- "y1": 4,
- "y2": null,
"xx1": 4,
- "xx2": 44
+ "xx2": 44,
+ "y1": 4,
+ "y2": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_2 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_2
index 3b245f7602..86270a0018 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_2
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_2
@@ -1,12 +1,12 @@
[
{
- "name": "bb",
"n2": 12,
- "n3": 13
+ "n3": 13,
+ "name": "bb"
},
{
- "name": "cc",
"n2": 22,
- "n3": 23
+ "n3": 23,
+ "name": "cc"
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_3 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_3
index 11ed8a6df1..09d53a346e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_3
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_3
@@ -1,17 +1,17 @@
[
{
- "name": "bb",
"n2": 12,
- "n3": 13
+ "n3": 13,
+ "name": "bb"
},
{
- "name": "cc",
"n2": 22,
- "n3": 23
+ "n3": 23,
+ "name": "cc"
},
{
- "name": "ee",
"n2": 42,
- "n3": null
+ "n3": null,
+ "name": "ee"
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_4
index d22fc42dd6..6e6efa1c57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_4
@@ -1,22 +1,22 @@
[
{
- "name": "bb",
"n2": 12,
- "n3": 13
+ "n3": 13,
+ "name": "bb"
},
{
- "name": "cc",
"n2": 22,
- "n3": 23
+ "n3": 23,
+ "name": "cc"
},
{
- "name": "dd",
"n2": null,
- "n3": 33
+ "n3": 33,
+ "name": "dd"
},
{
- "name": "ee",
"n2": 42,
- "n3": null
+ "n3": null,
+ "name": "ee"
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_9 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_9
index 31406dae7d..33eea433f9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_9
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join2.test_/query_9
@@ -2,41 +2,41 @@
{
"x1": 1,
"x2": 11,
- "y1": 1,
- "y2": 111,
"xx1": 1,
- "xx2": 11
+ "xx2": 11,
+ "y1": 1,
+ "y2": 111
},
{
"x1": 2,
"x2": 22,
- "y1": 2,
- "y2": 222,
"xx1": 2,
- "xx2": 22
+ "xx2": 22,
+ "y1": 2,
+ "y2": 222
},
{
"x1": 3,
"x2": null,
- "y1": 3,
- "y2": 333,
"xx1": 3,
- "xx2": null
+ "xx2": null,
+ "y1": 3,
+ "y2": 333
},
{
"x1": 4,
"x2": 44,
- "y1": 4,
- "y2": null,
"xx1": 4,
- "xx2": 44
+ "xx2": 44,
+ "y1": 4,
+ "y2": null
},
{
"x1": 5,
"x2": null,
- "y1": null,
- "y2": null,
"xx1": 5,
- "xx2": null
+ "xx2": null,
+ "y1": null,
+ "y2": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_1 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_1
index 030920020b..f902e59e93 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_1
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_1
@@ -1,42 +1,42 @@
[
{
- "q2": -4567890123456789,
- "q1": null
+ "q1": null,
+ "q2": -4567890123456789
},
{
- "q2": 123,
- "q1": 123
+ "q1": 123,
+ "q2": 123
},
{
- "q2": 123,
- "q1": 123
+ "q1": 123,
+ "q2": 123
},
{
- "q2": 456,
- "q1": null
+ "q1": null,
+ "q2": 456
},
{
- "q2": 4567890123456789,
- "q1": 4567890123456789
+ "q1": 4567890123456789,
+ "q2": 4567890123456789
},
{
- "q2": 4567890123456789,
- "q1": 4567890123456789
+ "q1": 4567890123456789,
+ "q2": 4567890123456789
},
{
- "q2": 4567890123456789,
- "q1": 4567890123456789
+ "q1": 4567890123456789,
+ "q2": 4567890123456789
},
{
- "q2": 4567890123456789,
- "q1": 4567890123456789
+ "q1": 4567890123456789,
+ "q2": 4567890123456789
},
{
- "q2": 4567890123456789,
- "q1": 4567890123456789
+ "q1": 4567890123456789,
+ "q2": 4567890123456789
},
{
- "q2": 4567890123456789,
- "q1": 4567890123456789
+ "q1": 4567890123456789,
+ "q2": 4567890123456789
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_3 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_3
index bf524214e4..8a255fc0ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_3
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_3
@@ -1,17 +1,17 @@
[
{
"k": 1,
- "pd": 10,
- "linked": true
+ "linked": true,
+ "pd": 10
},
{
"k": 2,
- "pd": 20,
- "linked": null
+ "linked": null,
+ "pd": 20
},
{
"k": 3,
- "pd": 30,
- "linked": null
+ "linked": null,
+ "pd": 30
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_6 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_6
index dfa73ffd94..59529fc148 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_6
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_6
@@ -1,7 +1,7 @@
[
{
- "id": 1,
"a_id": null,
- "aid": null
+ "aid": null,
+ "id": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_7 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_7
index 9ae246c61c..eaf3d98103 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_7
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_7
@@ -1,6 +1,6 @@
[
{
- "id": 1,
- "a_id": null
+ "a_id": null,
+ "id": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_8 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_8
index a948f9078d..f6ce082319 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_8
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join3.test_/query_8
@@ -1,32 +1,32 @@
[
{
- "x": 1,
"q1": 123,
"q2": 456,
+ "x": 1,
"y": 123
},
{
- "x": 1,
"q1": 123,
"q2": 4567890123456789,
+ "x": 1,
"y": 123
},
{
- "x": 1,
"q1": 4567890123456789,
"q2": -4567890123456789,
+ "x": 1,
"y": 4567890123456789
},
{
- "x": 1,
"q1": 4567890123456789,
"q2": 123,
+ "x": 1,
"y": 42
},
{
- "x": 1,
"q1": 4567890123456789,
"q2": 4567890123456789,
+ "x": 1,
"y": 4567890123456789
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_13 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_13
index 49d2d23df2..0249adf925 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_13
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_13
@@ -1,32 +1,32 @@
[
{
"a1": 5,
- "b1": 10,
"a2": null,
+ "b1": 10,
"b2": null
},
{
"a1": 15,
- "b1": 20,
"a2": null,
+ "b1": 20,
"b2": null
},
{
"a1": 100,
- "b1": 100,
"a2": null,
+ "b1": 100,
"b2": null
},
{
"a1": 200,
- "b1": 1000,
"a2": 200,
+ "b1": 1000,
"b2": 2000
},
{
"a1": 200,
- "b1": 1000,
"a2": 200,
+ "b1": 1000,
"b2": 2001
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_4
index c5bde60174..9961592a31 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_4
@@ -1,20 +1,20 @@
[
{
- "name": "A",
- "code": "p",
"b_cnt": 2,
- "const": -1
+ "code": "p",
+ "const": -1,
+ "name": "A"
},
{
- "name": "B",
- "code": "q",
"b_cnt": 0,
- "const": -1
+ "code": "q",
+ "const": -1,
+ "name": "B"
},
{
- "name": "C",
- "code": null,
"b_cnt": null,
- "const": null
+ "code": null,
+ "const": null,
+ "name": "C"
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_6 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_6
index d26a811cf8..64d1d94c27 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_6
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_6
@@ -1,7 +1,7 @@
[
{
+ "f1": null,
"f2": 53,
- "f3": null,
- "f1": null
+ "f3": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_7 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_7
index 3acd65148a..4a32e81235 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_7
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_7
@@ -1,8 +1,8 @@
[
{
"f15": 1,
- "f25": 10,
"f16": 1,
+ "f25": 10,
"f26": 9
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_8 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_8
index 1863f2ff50..3af1be8dea 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_8
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_8
@@ -1,17 +1,17 @@
[
{
- "tt1_id": 1,
"joincol": 11,
+ "tt1_id": 1,
"tt2_id": 21
},
{
- "tt1_id": 1,
"joincol": 11,
+ "tt1_id": 1,
"tt2_id": 22
},
{
- "tt1_id": 2,
"joincol": null,
+ "tt1_id": 2,
"tt2_id": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_9 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_9
index 1863f2ff50..3af1be8dea 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_9
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-jointest_join4.test_/query_9
@@ -1,17 +1,17 @@
[
{
- "tt1_id": 1,
"joincol": 11,
+ "tt1_id": 1,
"tt2_id": 21
},
{
- "tt1_id": 1,
"joincol": 11,
+ "tt1_id": 1,
"tt2_id": 22
},
{
- "tt1_id": 2,
"joincol": null,
+ "tt1_id": 2,
"tt2_id": null
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1
index e5fc156a60..a1329fce72 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_1
@@ -1,182 +1,182 @@
[
{
- "unique1": 0,
- "unique2": 998,
- "two": 0,
+ "even": 1,
+ "fivethous": 0,
"four": 0,
- "ten": 0,
- "twenty": 0,
"hundred": 0,
- "thousand": 0,
- "twothousand": 0,
- "fivethous": 0,
- "tenthous": 0,
"odd": 0,
- "even": 1,
+ "string4": "OOOOxx",
"stringu1": "AAAAAA",
"stringu2": "KMBAAA",
- "string4": "OOOOxx"
+ "ten": 0,
+ "tenthous": 0,
+ "thousand": 0,
+ "twenty": 0,
+ "two": 0,
+ "twothousand": 0,
+ "unique1": 0,
+ "unique2": 998
},
{
- "unique1": 1,
- "unique2": 214,
- "two": 1,
+ "even": 3,
+ "fivethous": 1,
"four": 1,
- "ten": 1,
- "twenty": 1,
"hundred": 1,
- "thousand": 1,
- "twothousand": 1,
- "fivethous": 1,
- "tenthous": 1,
"odd": 2,
- "even": 3,
+ "string4": "OOOOxx",
"stringu1": "BAAAAA",
"stringu2": "GIAAAA",
- "string4": "OOOOxx"
+ "ten": 1,
+ "tenthous": 1,
+ "thousand": 1,
+ "twenty": 1,
+ "two": 1,
+ "twothousand": 1,
+ "unique1": 1,
+ "unique2": 214
},
{
- "unique1": 2,
- "unique2": 326,
- "two": 0,
+ "even": 5,
+ "fivethous": 2,
"four": 2,
- "ten": 2,
- "twenty": 2,
"hundred": 2,
- "thousand": 2,
- "twothousand": 2,
- "fivethous": 2,
- "tenthous": 2,
"odd": 4,
- "even": 5,
+ "string4": "OOOOxx",
"stringu1": "CAAAAA",
"stringu2": "OMAAAA",
- "string4": "OOOOxx"
+ "ten": 2,
+ "tenthous": 2,
+ "thousand": 2,
+ "twenty": 2,
+ "two": 0,
+ "twothousand": 2,
+ "unique1": 2,
+ "unique2": 326
},
{
- "unique1": 3,
- "unique2": 431,
- "two": 1,
+ "even": 7,
+ "fivethous": 3,
"four": 3,
- "ten": 3,
- "twenty": 3,
"hundred": 3,
- "thousand": 3,
- "twothousand": 3,
- "fivethous": 3,
- "tenthous": 3,
"odd": 6,
- "even": 7,
+ "string4": "VVVVxx",
"stringu1": "DAAAAA",
"stringu2": "PQAAAA",
- "string4": "VVVVxx"
+ "ten": 3,
+ "tenthous": 3,
+ "thousand": 3,
+ "twenty": 3,
+ "two": 1,
+ "twothousand": 3,
+ "unique1": 3,
+ "unique2": 431
},
{
- "unique1": 4,
- "unique2": 833,
- "two": 0,
+ "even": 9,
+ "fivethous": 4,
"four": 0,
- "ten": 4,
- "twenty": 4,
"hundred": 4,
- "thousand": 4,
- "twothousand": 4,
- "fivethous": 4,
- "tenthous": 4,
"odd": 8,
- "even": 9,
+ "string4": "HHHHxx",
"stringu1": "EAAAAA",
"stringu2": "BGBAAA",
- "string4": "HHHHxx"
+ "ten": 4,
+ "tenthous": 4,
+ "thousand": 4,
+ "twenty": 4,
+ "two": 0,
+ "twothousand": 4,
+ "unique1": 4,
+ "unique2": 833
},
{
- "unique1": 5,
- "unique2": 541,
- "two": 1,
+ "even": 11,
+ "fivethous": 5,
"four": 1,
- "ten": 5,
- "twenty": 5,
"hundred": 5,
- "thousand": 5,
- "twothousand": 5,
- "fivethous": 5,
- "tenthous": 5,
"odd": 10,
- "even": 11,
+ "string4": "HHHHxx",
"stringu1": "FAAAAA",
"stringu2": "VUAAAA",
- "string4": "HHHHxx"
+ "ten": 5,
+ "tenthous": 5,
+ "thousand": 5,
+ "twenty": 5,
+ "two": 1,
+ "twothousand": 5,
+ "unique1": 5,
+ "unique2": 541
},
{
- "unique1": 6,
- "unique2": 978,
- "two": 0,
+ "even": 13,
+ "fivethous": 6,
"four": 2,
- "ten": 6,
- "twenty": 6,
"hundred": 6,
- "thousand": 6,
- "twothousand": 6,
- "fivethous": 6,
- "tenthous": 6,
"odd": 12,
- "even": 13,
+ "string4": "OOOOxx",
"stringu1": "GAAAAA",
"stringu2": "QLBAAA",
- "string4": "OOOOxx"
+ "ten": 6,
+ "tenthous": 6,
+ "thousand": 6,
+ "twenty": 6,
+ "two": 0,
+ "twothousand": 6,
+ "unique1": 6,
+ "unique2": 978
},
{
- "unique1": 7,
- "unique2": 647,
- "two": 1,
+ "even": 15,
+ "fivethous": 7,
"four": 3,
- "ten": 7,
- "twenty": 7,
"hundred": 7,
- "thousand": 7,
- "twothousand": 7,
- "fivethous": 7,
- "tenthous": 7,
"odd": 14,
- "even": 15,
+ "string4": "VVVVxx",
"stringu1": "HAAAAA",
"stringu2": "XYAAAA",
- "string4": "VVVVxx"
+ "ten": 7,
+ "tenthous": 7,
+ "thousand": 7,
+ "twenty": 7,
+ "two": 1,
+ "twothousand": 7,
+ "unique1": 7,
+ "unique2": 647
},
{
- "unique1": 8,
- "unique2": 653,
- "two": 0,
+ "even": 17,
+ "fivethous": 8,
"four": 0,
- "ten": 8,
- "twenty": 8,
"hundred": 8,
- "thousand": 8,
- "twothousand": 8,
- "fivethous": 8,
- "tenthous": 8,
"odd": 16,
- "even": 17,
+ "string4": "HHHHxx",
"stringu1": "IAAAAA",
"stringu2": "DZAAAA",
- "string4": "HHHHxx"
+ "ten": 8,
+ "tenthous": 8,
+ "thousand": 8,
+ "twenty": 8,
+ "two": 0,
+ "twothousand": 8,
+ "unique1": 8,
+ "unique2": 653
},
{
- "unique1": 9,
- "unique2": 49,
- "two": 1,
+ "even": 19,
+ "fivethous": 9,
"four": 1,
- "ten": 9,
- "twenty": 9,
"hundred": 9,
- "thousand": 9,
- "twothousand": 9,
- "fivethous": 9,
- "tenthous": 9,
"odd": 18,
- "even": 19,
+ "string4": "HHHHxx",
"stringu1": "JAAAAA",
"stringu2": "XBAAAA",
- "string4": "HHHHxx"
+ "ten": 9,
+ "tenthous": 9,
+ "thousand": 9,
+ "twenty": 9,
+ "two": 1,
+ "twothousand": 9,
+ "unique1": 9,
+ "unique2": 49
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_10 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_10
index ecda87665f..50a3047ab0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_10
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_10
@@ -1,78 +1,78 @@
[
{
- "unique1": 981,
- "stringu1": "TLAAAA"
+ "stringu1": "TLAAAA",
+ "unique1": 981
},
{
- "unique1": 982,
- "stringu1": "ULAAAA"
+ "stringu1": "ULAAAA",
+ "unique1": 982
},
{
- "unique1": 983,
- "stringu1": "VLAAAA"
+ "stringu1": "VLAAAA",
+ "unique1": 983
},
{
- "unique1": 984,
- "stringu1": "WLAAAA"
+ "stringu1": "WLAAAA",
+ "unique1": 984
},
{
- "unique1": 985,
- "stringu1": "XLAAAA"
+ "stringu1": "XLAAAA",
+ "unique1": 985
},
{
- "unique1": 986,
- "stringu1": "YLAAAA"
+ "stringu1": "YLAAAA",
+ "unique1": 986
},
{
- "unique1": 987,
- "stringu1": "ZLAAAA"
+ "stringu1": "ZLAAAA",
+ "unique1": 987
},
{
- "unique1": 988,
- "stringu1": "AMAAAA"
+ "stringu1": "AMAAAA",
+ "unique1": 988
},
{
- "unique1": 989,
- "stringu1": "BMAAAA"
+ "stringu1": "BMAAAA",
+ "unique1": 989
},
{
- "unique1": 990,
- "stringu1": "CMAAAA"
+ "stringu1": "CMAAAA",
+ "unique1": 990
},
{
- "unique1": 991,
- "stringu1": "DMAAAA"
+ "stringu1": "DMAAAA",
+ "unique1": 991
},
{
- "unique1": 992,
- "stringu1": "EMAAAA"
+ "stringu1": "EMAAAA",
+ "unique1": 992
},
{
- "unique1": 993,
- "stringu1": "FMAAAA"
+ "stringu1": "FMAAAA",
+ "unique1": 993
},
{
- "unique1": 994,
- "stringu1": "GMAAAA"
+ "stringu1": "GMAAAA",
+ "unique1": 994
},
{
- "unique1": 995,
- "stringu1": "HMAAAA"
+ "stringu1": "HMAAAA",
+ "unique1": 995
},
{
- "unique1": 996,
- "stringu1": "IMAAAA"
+ "stringu1": "IMAAAA",
+ "unique1": 996
},
{
- "unique1": 997,
- "stringu1": "JMAAAA"
+ "stringu1": "JMAAAA",
+ "unique1": 997
},
{
- "unique1": 998,
- "stringu1": "KMAAAA"
+ "stringu1": "KMAAAA",
+ "unique1": 998
},
{
- "unique1": 999,
- "stringu1": "LMAAAA"
+ "stringu1": "LMAAAA",
+ "unique1": 999
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_12 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_12
index 9050374fd5..396205a411 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_12
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_12
@@ -1,42 +1,42 @@
[
{
- "unique1": 147,
- "unique2": 0,
- "two": 1,
+ "even": 15,
+ "fivethous": 147,
"four": 3,
- "ten": 7,
- "twenty": 7,
"hundred": 7,
- "thousand": 47,
- "twothousand": 147,
- "fivethous": 147,
- "tenthous": 147,
+ "i": 147,
+ "j": "RFAAAA",
"odd": 14,
- "even": 15,
+ "string4": "AAAAxx",
"stringu1": "RFAAAA",
"stringu2": "AAAAAA",
- "string4": "AAAAxx",
- "i": 147,
- "j": "RFAAAA"
+ "ten": 7,
+ "tenthous": 147,
+ "thousand": 47,
+ "twenty": 7,
+ "two": 1,
+ "twothousand": 147,
+ "unique1": 147,
+ "unique2": 0
},
{
- "unique1": 931,
- "unique2": 1,
- "two": 1,
+ "even": 3,
+ "fivethous": 431,
"four": 3,
- "ten": 1,
- "twenty": 11,
"hundred": 1,
- "thousand": 31,
- "twothousand": 131,
- "fivethous": 431,
- "tenthous": 931,
+ "i": 931,
+ "j": "VJAAAA",
"odd": 2,
- "even": 3,
+ "string4": "HHHHxx",
"stringu1": "VJAAAA",
"stringu2": "BAAAAA",
- "string4": "HHHHxx",
- "i": 931,
- "j": "VJAAAA"
+ "ten": 1,
+ "tenthous": 931,
+ "thousand": 31,
+ "twenty": 11,
+ "two": 1,
+ "twothousand": 131,
+ "unique1": 931,
+ "unique2": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_15 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_15
index df34ba6f2f..d5edc505bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_15
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_15
@@ -1,26 +1,26 @@
[
{
- "x": 1,
- "f1": null
+ "f1": null,
+ "x": 1
},
{
- "x": 1,
- "f1": 1
+ "f1": 1,
+ "x": 1
},
{
- "x": 1,
- "f1": 3
+ "f1": 3,
+ "x": 1
},
{
- "x": 1,
- "f1": 7
+ "f1": 7,
+ "x": 1
},
{
- "x": 1,
- "f1": 10
+ "f1": 10,
+ "x": 1
},
{
- "x": 1,
- "f1": 42
+ "f1": 42,
+ "x": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_16 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_16
index df34ba6f2f..d5edc505bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_16
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_16
@@ -1,26 +1,26 @@
[
{
- "x": 1,
- "f1": null
+ "f1": null,
+ "x": 1
},
{
- "x": 1,
- "f1": 1
+ "f1": 1,
+ "x": 1
},
{
- "x": 1,
- "f1": 3
+ "f1": 3,
+ "x": 1
},
{
- "x": 1,
- "f1": 7
+ "f1": 7,
+ "x": 1
},
{
- "x": 1,
- "f1": 10
+ "f1": 10,
+ "x": 1
},
{
- "x": 1,
- "f1": 42
+ "f1": 42,
+ "x": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_17 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_17
index ec2a85974f..59d611f090 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_17
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_17
@@ -1,26 +1,26 @@
[
{
- "x": 1,
- "f1": 42
+ "f1": 42,
+ "x": 1
},
{
- "x": 1,
- "f1": 10
+ "f1": 10,
+ "x": 1
},
{
- "x": 1,
- "f1": 7
+ "f1": 7,
+ "x": 1
},
{
- "x": 1,
- "f1": 3
+ "f1": 3,
+ "x": 1
},
{
- "x": 1,
- "f1": 1
+ "f1": 1,
+ "x": 1
},
{
- "x": 1,
- "f1": null
+ "f1": null,
+ "x": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_18 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_18
index d8eb88c8ad..2eb8ed23c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_18
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_18
@@ -1,20 +1,20 @@
[
{
- "unique1": 494,
- "unique2": 11,
- "two": 0,
+ "even": 9,
+ "fivethous": 494,
"four": 2,
- "ten": 4,
- "twenty": 14,
"hundred": 4,
- "thousand": 94,
- "twothousand": 94,
- "fivethous": 494,
- "tenthous": 494,
"odd": 8,
- "even": 9,
+ "string4": "VVVVxx",
"stringu1": "ATAAAA",
"stringu2": "LAAAAA",
- "string4": "VVVVxx"
+ "ten": 4,
+ "tenthous": 494,
+ "thousand": 94,
+ "twenty": 14,
+ "two": 0,
+ "twothousand": 94,
+ "unique1": 494,
+ "unique2": 11
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_2 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_2
index bf8d3e5b4b..e0874353c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_2
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_2
@@ -1,82 +1,82 @@
[
{
- "unique1": 19,
- "stringu1": "TAAAAA"
+ "stringu1": "TAAAAA",
+ "unique1": 19
},
{
- "unique1": 18,
- "stringu1": "SAAAAA"
+ "stringu1": "SAAAAA",
+ "unique1": 18
},
{
- "unique1": 17,
- "stringu1": "RAAAAA"
+ "stringu1": "RAAAAA",
+ "unique1": 17
},
{
- "unique1": 16,
- "stringu1": "QAAAAA"
+ "stringu1": "QAAAAA",
+ "unique1": 16
},
{
- "unique1": 15,
- "stringu1": "PAAAAA"
+ "stringu1": "PAAAAA",
+ "unique1": 15
},
{
- "unique1": 14,
- "stringu1": "OAAAAA"
+ "stringu1": "OAAAAA",
+ "unique1": 14
},
{
- "unique1": 13,
- "stringu1": "NAAAAA"
+ "stringu1": "NAAAAA",
+ "unique1": 13
},
{
- "unique1": 12,
- "stringu1": "MAAAAA"
+ "stringu1": "MAAAAA",
+ "unique1": 12
},
{
- "unique1": 11,
- "stringu1": "LAAAAA"
+ "stringu1": "LAAAAA",
+ "unique1": 11
},
{
- "unique1": 10,
- "stringu1": "KAAAAA"
+ "stringu1": "KAAAAA",
+ "unique1": 10
},
{
- "unique1": 9,
- "stringu1": "JAAAAA"
+ "stringu1": "JAAAAA",
+ "unique1": 9
},
{
- "unique1": 8,
- "stringu1": "IAAAAA"
+ "stringu1": "IAAAAA",
+ "unique1": 8
},
{
- "unique1": 7,
- "stringu1": "HAAAAA"
+ "stringu1": "HAAAAA",
+ "unique1": 7
},
{
- "unique1": 6,
- "stringu1": "GAAAAA"
+ "stringu1": "GAAAAA",
+ "unique1": 6
},
{
- "unique1": 5,
- "stringu1": "FAAAAA"
+ "stringu1": "FAAAAA",
+ "unique1": 5
},
{
- "unique1": 4,
- "stringu1": "EAAAAA"
+ "stringu1": "EAAAAA",
+ "unique1": 4
},
{
- "unique1": 3,
- "stringu1": "DAAAAA"
+ "stringu1": "DAAAAA",
+ "unique1": 3
},
{
- "unique1": 2,
- "stringu1": "CAAAAA"
+ "stringu1": "CAAAAA",
+ "unique1": 2
},
{
- "unique1": 1,
- "stringu1": "BAAAAA"
+ "stringu1": "BAAAAA",
+ "unique1": 1
},
{
- "unique1": 0,
- "stringu1": "AAAAAA"
+ "stringu1": "AAAAAA",
+ "unique1": 0
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_20 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_20
index d8eb88c8ad..2eb8ed23c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_20
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_20
@@ -1,20 +1,20 @@
[
{
- "unique1": 494,
- "unique2": 11,
- "two": 0,
+ "even": 9,
+ "fivethous": 494,
"four": 2,
- "ten": 4,
- "twenty": 14,
"hundred": 4,
- "thousand": 94,
- "twothousand": 94,
- "fivethous": 494,
- "tenthous": 494,
"odd": 8,
- "even": 9,
+ "string4": "VVVVxx",
"stringu1": "ATAAAA",
"stringu2": "LAAAAA",
- "string4": "VVVVxx"
+ "ten": 4,
+ "tenthous": 494,
+ "thousand": 94,
+ "twenty": 14,
+ "two": 0,
+ "twothousand": 94,
+ "unique1": 494,
+ "unique2": 11
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_3 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_3
index c85c4ed51a..bc596604b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_3
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_3
@@ -1,78 +1,78 @@
[
{
- "unique1": 988,
- "stringu1": "AMAAAA"
+ "stringu1": "AMAAAA",
+ "unique1": 988
},
{
- "unique1": 989,
- "stringu1": "BMAAAA"
+ "stringu1": "BMAAAA",
+ "unique1": 989
},
{
- "unique1": 990,
- "stringu1": "CMAAAA"
+ "stringu1": "CMAAAA",
+ "unique1": 990
},
{
- "unique1": 991,
- "stringu1": "DMAAAA"
+ "stringu1": "DMAAAA",
+ "unique1": 991
},
{
- "unique1": 992,
- "stringu1": "EMAAAA"
+ "stringu1": "EMAAAA",
+ "unique1": 992
},
{
- "unique1": 993,
- "stringu1": "FMAAAA"
+ "stringu1": "FMAAAA",
+ "unique1": 993
},
{
- "unique1": 994,
- "stringu1": "GMAAAA"
+ "stringu1": "GMAAAA",
+ "unique1": 994
},
{
- "unique1": 995,
- "stringu1": "HMAAAA"
+ "stringu1": "HMAAAA",
+ "unique1": 995
},
{
- "unique1": 996,
- "stringu1": "IMAAAA"
+ "stringu1": "IMAAAA",
+ "unique1": 996
},
{
- "unique1": 997,
- "stringu1": "JMAAAA"
+ "stringu1": "JMAAAA",
+ "unique1": 997
},
{
- "unique1": 998,
- "stringu1": "KMAAAA"
+ "stringu1": "KMAAAA",
+ "unique1": 998
},
{
- "unique1": 999,
- "stringu1": "LMAAAA"
+ "stringu1": "LMAAAA",
+ "unique1": 999
},
{
- "unique1": 981,
- "stringu1": "TLAAAA"
+ "stringu1": "TLAAAA",
+ "unique1": 981
},
{
- "unique1": 982,
- "stringu1": "ULAAAA"
+ "stringu1": "ULAAAA",
+ "unique1": 982
},
{
- "unique1": 983,
- "stringu1": "VLAAAA"
+ "stringu1": "VLAAAA",
+ "unique1": 983
},
{
- "unique1": 984,
- "stringu1": "WLAAAA"
+ "stringu1": "WLAAAA",
+ "unique1": 984
},
{
- "unique1": 985,
- "stringu1": "XLAAAA"
+ "stringu1": "XLAAAA",
+ "unique1": 985
},
{
- "unique1": 986,
- "stringu1": "YLAAAA"
+ "stringu1": "YLAAAA",
+ "unique1": 986
},
{
- "unique1": 987,
- "stringu1": "ZLAAAA"
+ "stringu1": "ZLAAAA",
+ "unique1": 987
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_4
index 92eafbdcb8..10ae20a1ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_4
@@ -1,78 +1,78 @@
[
{
- "unique1": 999,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 999
},
{
- "unique1": 995,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 995
},
{
- "unique1": 983,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 983
},
{
- "unique1": 982,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 982
},
{
- "unique1": 981,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 981
},
{
- "unique1": 998,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 998
},
{
- "unique1": 997,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 997
},
{
- "unique1": 993,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 993
},
{
- "unique1": 990,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 990
},
{
- "unique1": 986,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 986
},
{
- "unique1": 996,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 996
},
{
- "unique1": 991,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 991
},
{
- "unique1": 988,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 988
},
{
- "unique1": 987,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 987
},
{
- "unique1": 985,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 985
},
{
- "unique1": 994,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 994
},
{
- "unique1": 992,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 992
},
{
- "unique1": 989,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 989
},
{
- "unique1": 984,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 984
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_5 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_5
index df1d626eda..c0c53aa8d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_5
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_5
@@ -1,78 +1,78 @@
[
{
- "unique1": 984,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 984
},
{
- "unique1": 989,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 989
},
{
- "unique1": 992,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 992
},
{
- "unique1": 994,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 994
},
{
- "unique1": 985,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 985
},
{
- "unique1": 987,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 987
},
{
- "unique1": 988,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 988
},
{
- "unique1": 991,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 991
},
{
- "unique1": 996,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 996
},
{
- "unique1": 986,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 986
},
{
- "unique1": 990,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 990
},
{
- "unique1": 993,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 993
},
{
- "unique1": 997,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 997
},
{
- "unique1": 998,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 998
},
{
- "unique1": 981,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 981
},
{
- "unique1": 982,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 982
},
{
- "unique1": 983,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 983
},
{
- "unique1": 995,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 995
},
{
- "unique1": 999,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 999
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_6 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_6
index 233962ce80..e1b788487e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_6
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_6
@@ -1,82 +1,82 @@
[
{
- "unique1": 19,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 19
},
{
- "unique1": 18,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 18
},
{
- "unique1": 17,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 17
},
{
- "unique1": 16,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 16
},
{
- "unique1": 15,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 15
},
{
- "unique1": 14,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 14
},
{
- "unique1": 13,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 13
},
{
- "unique1": 12,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 12
},
{
- "unique1": 11,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 11
},
{
- "unique1": 10,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 10
},
{
- "unique1": 9,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 9
},
{
- "unique1": 8,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 8
},
{
- "unique1": 7,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 7
},
{
- "unique1": 6,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 6
},
{
- "unique1": 5,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 5
},
{
- "unique1": 4,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 4
},
{
- "unique1": 3,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 3
},
{
- "unique1": 2,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 2
},
{
- "unique1": 1,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 1
},
{
- "unique1": 0,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 0
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_7 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_7
index 936696649b..ac0c0678c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_7
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_7
@@ -1,82 +1,82 @@
[
{
- "unique1": 0,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 0
},
{
- "unique1": 1,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 1
},
{
- "unique1": 2,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 2
},
{
- "unique1": 3,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 3
},
{
- "unique1": 4,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 4
},
{
- "unique1": 5,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 5
},
{
- "unique1": 6,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 6
},
{
- "unique1": 7,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 7
},
{
- "unique1": 8,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 8
},
{
- "unique1": 9,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 9
},
{
- "unique1": 10,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 10
},
{
- "unique1": 11,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 11
},
{
- "unique1": 12,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 12
},
{
- "unique1": 13,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 13
},
{
- "unique1": 14,
- "string4": "AAAAxx"
+ "string4": "AAAAxx",
+ "unique1": 14
},
{
- "unique1": 15,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 15
},
{
- "unique1": 16,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 16
},
{
- "unique1": 17,
- "string4": "HHHHxx"
+ "string4": "HHHHxx",
+ "unique1": 17
},
{
- "unique1": 18,
- "string4": "VVVVxx"
+ "string4": "VVVVxx",
+ "unique1": 18
},
{
- "unique1": 19,
- "string4": "OOOOxx"
+ "string4": "OOOOxx",
+ "unique1": 19
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_8 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_8
index e5fc156a60..a1329fce72 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_8
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_8
@@ -1,182 +1,182 @@
[
{
- "unique1": 0,
- "unique2": 998,
- "two": 0,
+ "even": 1,
+ "fivethous": 0,
"four": 0,
- "ten": 0,
- "twenty": 0,
"hundred": 0,
- "thousand": 0,
- "twothousand": 0,
- "fivethous": 0,
- "tenthous": 0,
"odd": 0,
- "even": 1,
+ "string4": "OOOOxx",
"stringu1": "AAAAAA",
"stringu2": "KMBAAA",
- "string4": "OOOOxx"
+ "ten": 0,
+ "tenthous": 0,
+ "thousand": 0,
+ "twenty": 0,
+ "two": 0,
+ "twothousand": 0,
+ "unique1": 0,
+ "unique2": 998
},
{
- "unique1": 1,
- "unique2": 214,
- "two": 1,
+ "even": 3,
+ "fivethous": 1,
"four": 1,
- "ten": 1,
- "twenty": 1,
"hundred": 1,
- "thousand": 1,
- "twothousand": 1,
- "fivethous": 1,
- "tenthous": 1,
"odd": 2,
- "even": 3,
+ "string4": "OOOOxx",
"stringu1": "BAAAAA",
"stringu2": "GIAAAA",
- "string4": "OOOOxx"
+ "ten": 1,
+ "tenthous": 1,
+ "thousand": 1,
+ "twenty": 1,
+ "two": 1,
+ "twothousand": 1,
+ "unique1": 1,
+ "unique2": 214
},
{
- "unique1": 2,
- "unique2": 326,
- "two": 0,
+ "even": 5,
+ "fivethous": 2,
"four": 2,
- "ten": 2,
- "twenty": 2,
"hundred": 2,
- "thousand": 2,
- "twothousand": 2,
- "fivethous": 2,
- "tenthous": 2,
"odd": 4,
- "even": 5,
+ "string4": "OOOOxx",
"stringu1": "CAAAAA",
"stringu2": "OMAAAA",
- "string4": "OOOOxx"
+ "ten": 2,
+ "tenthous": 2,
+ "thousand": 2,
+ "twenty": 2,
+ "two": 0,
+ "twothousand": 2,
+ "unique1": 2,
+ "unique2": 326
},
{
- "unique1": 3,
- "unique2": 431,
- "two": 1,
+ "even": 7,
+ "fivethous": 3,
"four": 3,
- "ten": 3,
- "twenty": 3,
"hundred": 3,
- "thousand": 3,
- "twothousand": 3,
- "fivethous": 3,
- "tenthous": 3,
"odd": 6,
- "even": 7,
+ "string4": "VVVVxx",
"stringu1": "DAAAAA",
"stringu2": "PQAAAA",
- "string4": "VVVVxx"
+ "ten": 3,
+ "tenthous": 3,
+ "thousand": 3,
+ "twenty": 3,
+ "two": 1,
+ "twothousand": 3,
+ "unique1": 3,
+ "unique2": 431
},
{
- "unique1": 4,
- "unique2": 833,
- "two": 0,
+ "even": 9,
+ "fivethous": 4,
"four": 0,
- "ten": 4,
- "twenty": 4,
"hundred": 4,
- "thousand": 4,
- "twothousand": 4,
- "fivethous": 4,
- "tenthous": 4,
"odd": 8,
- "even": 9,
+ "string4": "HHHHxx",
"stringu1": "EAAAAA",
"stringu2": "BGBAAA",
- "string4": "HHHHxx"
+ "ten": 4,
+ "tenthous": 4,
+ "thousand": 4,
+ "twenty": 4,
+ "two": 0,
+ "twothousand": 4,
+ "unique1": 4,
+ "unique2": 833
},
{
- "unique1": 5,
- "unique2": 541,
- "two": 1,
+ "even": 11,
+ "fivethous": 5,
"four": 1,
- "ten": 5,
- "twenty": 5,
"hundred": 5,
- "thousand": 5,
- "twothousand": 5,
- "fivethous": 5,
- "tenthous": 5,
"odd": 10,
- "even": 11,
+ "string4": "HHHHxx",
"stringu1": "FAAAAA",
"stringu2": "VUAAAA",
- "string4": "HHHHxx"
+ "ten": 5,
+ "tenthous": 5,
+ "thousand": 5,
+ "twenty": 5,
+ "two": 1,
+ "twothousand": 5,
+ "unique1": 5,
+ "unique2": 541
},
{
- "unique1": 6,
- "unique2": 978,
- "two": 0,
+ "even": 13,
+ "fivethous": 6,
"four": 2,
- "ten": 6,
- "twenty": 6,
"hundred": 6,
- "thousand": 6,
- "twothousand": 6,
- "fivethous": 6,
- "tenthous": 6,
"odd": 12,
- "even": 13,
+ "string4": "OOOOxx",
"stringu1": "GAAAAA",
"stringu2": "QLBAAA",
- "string4": "OOOOxx"
+ "ten": 6,
+ "tenthous": 6,
+ "thousand": 6,
+ "twenty": 6,
+ "two": 0,
+ "twothousand": 6,
+ "unique1": 6,
+ "unique2": 978
},
{
- "unique1": 7,
- "unique2": 647,
- "two": 1,
+ "even": 15,
+ "fivethous": 7,
"four": 3,
- "ten": 7,
- "twenty": 7,
"hundred": 7,
- "thousand": 7,
- "twothousand": 7,
- "fivethous": 7,
- "tenthous": 7,
"odd": 14,
- "even": 15,
+ "string4": "VVVVxx",
"stringu1": "HAAAAA",
"stringu2": "XYAAAA",
- "string4": "VVVVxx"
+ "ten": 7,
+ "tenthous": 7,
+ "thousand": 7,
+ "twenty": 7,
+ "two": 1,
+ "twothousand": 7,
+ "unique1": 7,
+ "unique2": 647
},
{
- "unique1": 8,
- "unique2": 653,
- "two": 0,
+ "even": 17,
+ "fivethous": 8,
"four": 0,
- "ten": 8,
- "twenty": 8,
"hundred": 8,
- "thousand": 8,
- "twothousand": 8,
- "fivethous": 8,
- "tenthous": 8,
"odd": 16,
- "even": 17,
+ "string4": "HHHHxx",
"stringu1": "IAAAAA",
"stringu2": "DZAAAA",
- "string4": "HHHHxx"
+ "ten": 8,
+ "tenthous": 8,
+ "thousand": 8,
+ "twenty": 8,
+ "two": 0,
+ "twothousand": 8,
+ "unique1": 8,
+ "unique2": 653
},
{
- "unique1": 9,
- "unique2": 49,
- "two": 1,
+ "even": 19,
+ "fivethous": 9,
"four": 1,
- "ten": 9,
- "twenty": 9,
"hundred": 9,
- "thousand": 9,
- "twothousand": 9,
- "fivethous": 9,
- "tenthous": 9,
"odd": 18,
- "even": 19,
+ "string4": "HHHHxx",
"stringu1": "JAAAAA",
"stringu2": "XBAAAA",
- "string4": "HHHHxx"
+ "ten": 9,
+ "tenthous": 9,
+ "thousand": 9,
+ "twenty": 9,
+ "two": 1,
+ "twothousand": 9,
+ "unique1": 9,
+ "unique2": 49
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_9 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_9
index bf8d3e5b4b..e0874353c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_9
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select.test_/query_9
@@ -1,82 +1,82 @@
[
{
- "unique1": 19,
- "stringu1": "TAAAAA"
+ "stringu1": "TAAAAA",
+ "unique1": 19
},
{
- "unique1": 18,
- "stringu1": "SAAAAA"
+ "stringu1": "SAAAAA",
+ "unique1": 18
},
{
- "unique1": 17,
- "stringu1": "RAAAAA"
+ "stringu1": "RAAAAA",
+ "unique1": 17
},
{
- "unique1": 16,
- "stringu1": "QAAAAA"
+ "stringu1": "QAAAAA",
+ "unique1": 16
},
{
- "unique1": 15,
- "stringu1": "PAAAAA"
+ "stringu1": "PAAAAA",
+ "unique1": 15
},
{
- "unique1": 14,
- "stringu1": "OAAAAA"
+ "stringu1": "OAAAAA",
+ "unique1": 14
},
{
- "unique1": 13,
- "stringu1": "NAAAAA"
+ "stringu1": "NAAAAA",
+ "unique1": 13
},
{
- "unique1": 12,
- "stringu1": "MAAAAA"
+ "stringu1": "MAAAAA",
+ "unique1": 12
},
{
- "unique1": 11,
- "stringu1": "LAAAAA"
+ "stringu1": "LAAAAA",
+ "unique1": 11
},
{
- "unique1": 10,
- "stringu1": "KAAAAA"
+ "stringu1": "KAAAAA",
+ "unique1": 10
},
{
- "unique1": 9,
- "stringu1": "JAAAAA"
+ "stringu1": "JAAAAA",
+ "unique1": 9
},
{
- "unique1": 8,
- "stringu1": "IAAAAA"
+ "stringu1": "IAAAAA",
+ "unique1": 8
},
{
- "unique1": 7,
- "stringu1": "HAAAAA"
+ "stringu1": "HAAAAA",
+ "unique1": 7
},
{
- "unique1": 6,
- "stringu1": "GAAAAA"
+ "stringu1": "GAAAAA",
+ "unique1": 6
},
{
- "unique1": 5,
- "stringu1": "FAAAAA"
+ "stringu1": "FAAAAA",
+ "unique1": 5
},
{
- "unique1": 4,
- "stringu1": "EAAAAA"
+ "stringu1": "EAAAAA",
+ "unique1": 4
},
{
- "unique1": 3,
- "stringu1": "DAAAAA"
+ "stringu1": "DAAAAA",
+ "unique1": 3
},
{
- "unique1": 2,
- "stringu1": "CAAAAA"
+ "stringu1": "CAAAAA",
+ "unique1": 2
},
{
- "unique1": 1,
- "stringu1": "BAAAAA"
+ "stringu1": "BAAAAA",
+ "unique1": 1
},
{
- "unique1": 0,
- "stringu1": "AAAAAA"
+ "stringu1": "AAAAAA",
+ "unique1": 0
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select_distinct.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select_distinct.test_/query_4
index 3c5444bd36..eacf89d480 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select_distinct.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-select_distinct.test_/query_4
@@ -1,202 +1,202 @@
[
{
- "two": 0,
"string4": "AAAAxx",
- "ten": 0
+ "ten": 0,
+ "two": 0
},
{
- "two": 0,
"string4": "AAAAxx",
- "ten": 2
+ "ten": 2,
+ "two": 0
},
{
- "two": 0,
"string4": "AAAAxx",
- "ten": 4
+ "ten": 4,
+ "two": 0
},
{
- "two": 0,
"string4": "AAAAxx",
- "ten": 6
+ "ten": 6,
+ "two": 0
},
{
- "two": 0,
"string4": "AAAAxx",
- "ten": 8
+ "ten": 8,
+ "two": 0
},
{
- "two": 0,
"string4": "HHHHxx",
- "ten": 0
+ "ten": 0,
+ "two": 0
},
{
- "two": 0,
"string4": "HHHHxx",
- "ten": 2
+ "ten": 2,
+ "two": 0
},
{
- "two": 0,
"string4": "HHHHxx",
- "ten": 4
+ "ten": 4,
+ "two": 0
},
{
- "two": 0,
"string4": "HHHHxx",
- "ten": 6
+ "ten": 6,
+ "two": 0
},
{
- "two": 0,
"string4": "HHHHxx",
- "ten": 8
+ "ten": 8,
+ "two": 0
},
{
- "two": 0,
"string4": "OOOOxx",
- "ten": 0
+ "ten": 0,
+ "two": 0
},
{
- "two": 0,
"string4": "OOOOxx",
- "ten": 2
+ "ten": 2,
+ "two": 0
},
{
- "two": 0,
"string4": "OOOOxx",
- "ten": 4
+ "ten": 4,
+ "two": 0
},
{
- "two": 0,
"string4": "OOOOxx",
- "ten": 6
+ "ten": 6,
+ "two": 0
},
{
- "two": 0,
"string4": "OOOOxx",
- "ten": 8
+ "ten": 8,
+ "two": 0
},
{
- "two": 0,
"string4": "VVVVxx",
- "ten": 0
+ "ten": 0,
+ "two": 0
},
{
- "two": 0,
"string4": "VVVVxx",
- "ten": 2
+ "ten": 2,
+ "two": 0
},
{
- "two": 0,
"string4": "VVVVxx",
- "ten": 4
+ "ten": 4,
+ "two": 0
},
{
- "two": 0,
"string4": "VVVVxx",
- "ten": 6
+ "ten": 6,
+ "two": 0
},
{
- "two": 0,
"string4": "VVVVxx",
- "ten": 8
+ "ten": 8,
+ "two": 0
},
{
- "two": 1,
"string4": "AAAAxx",
- "ten": 1
+ "ten": 1,
+ "two": 1
},
{
- "two": 1,
"string4": "AAAAxx",
- "ten": 3
+ "ten": 3,
+ "two": 1
},
{
- "two": 1,
"string4": "AAAAxx",
- "ten": 5
+ "ten": 5,
+ "two": 1
},
{
- "two": 1,
"string4": "AAAAxx",
- "ten": 7
+ "ten": 7,
+ "two": 1
},
{
- "two": 1,
"string4": "AAAAxx",
- "ten": 9
+ "ten": 9,
+ "two": 1
},
{
- "two": 1,
"string4": "HHHHxx",
- "ten": 1
+ "ten": 1,
+ "two": 1
},
{
- "two": 1,
"string4": "HHHHxx",
- "ten": 3
+ "ten": 3,
+ "two": 1
},
{
- "two": 1,
"string4": "HHHHxx",
- "ten": 5
+ "ten": 5,
+ "two": 1
},
{
- "two": 1,
"string4": "HHHHxx",
- "ten": 7
+ "ten": 7,
+ "two": 1
},
{
- "two": 1,
"string4": "HHHHxx",
- "ten": 9
+ "ten": 9,
+ "two": 1
},
{
- "two": 1,
"string4": "OOOOxx",
- "ten": 1
+ "ten": 1,
+ "two": 1
},
{
- "two": 1,
"string4": "OOOOxx",
- "ten": 3
+ "ten": 3,
+ "two": 1
},
{
- "two": 1,
"string4": "OOOOxx",
- "ten": 5
+ "ten": 5,
+ "two": 1
},
{
- "two": 1,
"string4": "OOOOxx",
- "ten": 7
+ "ten": 7,
+ "two": 1
},
{
- "two": 1,
"string4": "OOOOxx",
- "ten": 9
+ "ten": 9,
+ "two": 1
},
{
- "two": 1,
"string4": "VVVVxx",
- "ten": 1
+ "ten": 1,
+ "two": 1
},
{
- "two": 1,
"string4": "VVVVxx",
- "ten": 3
+ "ten": 3,
+ "two": 1
},
{
- "two": 1,
"string4": "VVVVxx",
- "ten": 5
+ "ten": 5,
+ "two": 1
},
{
- "two": 1,
"string4": "VVVVxx",
- "ten": 7
+ "ten": 7,
+ "two": 1
},
{
- "two": 1,
"string4": "VVVVxx",
- "ten": 9
+ "ten": 9,
+ "two": 1
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_41 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_41
index a87c02568d..30e430f9d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_41
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_41
@@ -1,7 +1,7 @@
[
{
+ "f3": false,
"t1": true,
- "t2": true,
- "f3": false
+ "t2": true
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_42 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_42
index a87c02568d..30e430f9d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_42
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_42
@@ -1,7 +1,7 @@
[
{
+ "f3": false,
"t1": true,
- "t2": true,
- "f3": false
+ "t2": true
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_43 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_43
index a87c02568d..30e430f9d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_43
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_43
@@ -1,7 +1,7 @@
[
{
+ "f3": false,
"t1": true,
- "t2": true,
- "f3": false
+ "t2": true
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_44 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_44
index a87c02568d..30e430f9d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_44
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-strings.test_/query_44
@@ -1,7 +1,7 @@
[
{
+ "f3": false,
"t1": true,
- "t2": true,
- "f3": false
+ "t2": true
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_2 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_2
index 9091c403fb..9cb6fa8803 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_2
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_2
@@ -2,61 +2,61 @@
{
"depname": "develop",
"empno": 7,
- "salary": 4200,
- "rank": 1
+ "rank": 1,
+ "salary": 4200
},
{
"depname": "develop",
"empno": 9,
- "salary": 4500,
- "rank": 2
+ "rank": 2,
+ "salary": 4500
},
{
"depname": "develop",
"empno": 10,
- "salary": 5200,
- "rank": 3
+ "rank": 3,
+ "salary": 5200
},
{
"depname": "develop",
"empno": 11,
- "salary": 5200,
- "rank": 3
+ "rank": 3,
+ "salary": 5200
},
{
"depname": "develop",
"empno": 8,
- "salary": 6000,
- "rank": 5
+ "rank": 5,
+ "salary": 6000
},
{
"depname": "personnel",
"empno": 5,
- "salary": 3500,
- "rank": 1
+ "rank": 1,
+ "salary": 3500
},
{
"depname": "personnel",
"empno": 2,
- "salary": 3900,
- "rank": 2
+ "rank": 2,
+ "salary": 3900
},
{
"depname": "sales",
"empno": 3,
- "salary": 4800,
- "rank": 1
+ "rank": 1,
+ "salary": 4800
},
{
"depname": "sales",
"empno": 4,
- "salary": 4800,
- "rank": 1
+ "rank": 1,
+ "salary": 4800
},
{
"depname": "sales",
"empno": 1,
- "salary": 5000,
- "rank": 3
+ "rank": 3,
+ "salary": 5000
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_3 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_3
index e1e09324f6..b7cee50cfe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_3
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_3
@@ -2,61 +2,61 @@
{
"depname": "develop",
"empno": 7,
- "salary": 4200,
- "rank": 1
+ "rank": 1,
+ "salary": 4200
},
{
"depname": "develop",
"empno": 9,
- "salary": 4500,
- "rank": 2
+ "rank": 2,
+ "salary": 4500
},
{
"depname": "develop",
"empno": 10,
- "salary": 5200,
- "rank": 3
+ "rank": 3,
+ "salary": 5200
},
{
"depname": "develop",
"empno": 11,
- "salary": 5200,
- "rank": 3
+ "rank": 3,
+ "salary": 5200
},
{
"depname": "develop",
"empno": 8,
- "salary": 6000,
- "rank": 4
+ "rank": 4,
+ "salary": 6000
},
{
"depname": "personnel",
"empno": 5,
- "salary": 3500,
- "rank": 1
+ "rank": 1,
+ "salary": 3500
},
{
"depname": "personnel",
"empno": 2,
- "salary": 3900,
- "rank": 2
+ "rank": 2,
+ "salary": 3900
},
{
"depname": "sales",
"empno": 3,
- "salary": 4800,
- "rank": 1
+ "rank": 1,
+ "salary": 4800
},
{
"depname": "sales",
"empno": 4,
- "salary": 4800,
- "rank": 1
+ "rank": 1,
+ "salary": 4800
},
{
"depname": "sales",
"empno": 1,
- "salary": 5000,
- "rank": 2
+ "rank": 2,
+ "salary": 5000
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_4 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_4
index 02f2c80003..400a318be7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_4
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_4
@@ -2,61 +2,61 @@
{
"depname": "sales",
"empno": 3,
- "salary": 4800,
- "rank": 1
+ "rank": 1,
+ "salary": 4800
},
{
"depname": "sales",
"empno": 4,
- "salary": 4800,
- "rank": 1
+ "rank": 1,
+ "salary": 4800
},
{
"depname": "personnel",
"empno": 5,
- "salary": 3500,
- "rank": 1
+ "rank": 1,
+ "salary": 3500
},
{
"depname": "develop",
"empno": 7,
- "salary": 4200,
- "rank": 1
+ "rank": 1,
+ "salary": 4200
},
{
"depname": "personnel",
"empno": 2,
- "salary": 3900,
- "rank": 2
+ "rank": 2,
+ "salary": 3900
},
{
"depname": "develop",
"empno": 9,
- "salary": 4500,
- "rank": 2
+ "rank": 2,
+ "salary": 4500
},
{
"depname": "sales",
"empno": 1,
- "salary": 5000,
- "rank": 3
+ "rank": 3,
+ "salary": 5000
},
{
"depname": "develop",
"empno": 10,
- "salary": 5200,
- "rank": 3
+ "rank": 3,
+ "salary": 5200
},
{
"depname": "develop",
"empno": 11,
- "salary": 5200,
- "rank": 3
+ "rank": 3,
+ "salary": 5200
},
{
"depname": "develop",
"empno": 8,
- "salary": 6000,
- "rank": 5
+ "rank": 5,
+ "salary": 6000
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_5 b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_5
index 47c13e5154..4bf780f74e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_5
+++ b/ydb/tests/functional/suite_tests/canondata/test_postgres.TestPGSQL.test_sql_suite_results-window.test_/query_5
@@ -1,17 +1,17 @@
[
{
- "sum1": 14600,
"row_number": 3,
+ "sum1": 14600,
"sum2": 14600
},
{
- "sum1": 7400,
"row_number": 2,
+ "sum1": 7400,
"sum2": 22000
},
{
- "sum1": 25100,
"row_number": 1,
+ "sum1": 25100,
"sum2": 47100
}
] \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_1.plan
index 311438db9c..5ba1020b3d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_1.plan
@@ -1 +1,81 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_insert.test_plan\\/a2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":null,\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_insert.test_plan\\/a2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_insert.test_plan\\/a2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": null,
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_insert.test_plan/a2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_insert.test_plan/a2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_insert.test_plan/a2",
+ "reads": [
+ {
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_2.plan
index 311438db9c..5ba1020b3d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_2.plan
@@ -1 +1,81 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_insert.test_plan\\/a2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":null,\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_insert.test_plan\\/a2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_insert.test_plan\\/a2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": null,
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_insert.test_plan/a2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_insert.test_plan/a2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_insert.test_plan/a2",
+ "reads": [
+ {
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_3.plan
index f6dbeb57f1..fd4ba38927 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-insert.test_/query_3.plan
@@ -1 +1,87 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_insert.test_plan\\/a2\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\"\n ],\n \"limit\":\"1001\",\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadLimit\":\"1001\",\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_insert.test_plan\\/a2\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_insert.test_plan\\/a2\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Limit-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadLimit": "1001",
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_insert.test_plan/a2"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_insert.test_plan/a2"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_insert.test_plan/a2",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "limit": "1001",
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_1.plan
index 8c7442c763..e469475c1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_1.plan
@@ -1 +1,12 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": []
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": []
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_10.plan
index b94771bfa4..d3b9aa6aff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_10.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_100.plan
index e0cee4eec8..ab29d5a365 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_100.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_101.plan
index 1e94cd1d48..084401cd74 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_101.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_102.plan
index 2cca58245e..bdc26d365c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_102.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_103.plan
index 8fd2683db5..4b83f1cde4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_103.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_104.plan
index c6b98ce4b2..70bd0b8c82 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_104.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_105.plan
index ee89622e32..7e53c2cc78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_105.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_106.plan
index 4c234f9e15..bde8b5c099 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_106.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_107.plan
index 8d7277ecd5..5a049c3dc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_107.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_108.plan
index 046dc93767..2c38867636 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_108.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_109.plan
index d56e0f678f..bf1f579ba6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_109.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_11.plan
index e797f829f2..0b73cfe822 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_11.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_110.plan
index b16e8b47c1..ba376240ad 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_110.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_111.plan
index 9e34e4d238..a689658019 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_111.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_112.plan
index b014201c25..13629b2cdd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_112.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_113.plan
index aaacc005f6..39ea4380aa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_113.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_114.plan
index 7d5c8e3ad3..7d9a2cbd67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_114.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_115.plan
index efe2ea62d5..da60161a56 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_115.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_116.plan
index ed78fac8c8..2b82e36d9b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_116.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_117.plan
index 7385679f42..079e8ed73b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_117.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_118.plan
index d7d583a811..3978e7bf5d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_118.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_119.plan
index 2c41584a95..24e6b2d142 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_119.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_12.plan
index a14642f9c9..e968284f33 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_12.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_120.plan
index eb38774b19..8fabc35ec7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_120.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_121.plan
index b8bc39d137..98c1c474ac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_121.plan
@@ -1 +1,208 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_122.plan
index 54a5dec978..fa75937b39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_122.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_123.plan
index bab7e96c6f..9e08f0210b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_123.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_124.plan
index 0a9667f152..bdb7b4a62e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_124.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_125.plan
index 085835d117..d767c255d0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_125.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_126.plan
index 5b5de95bc1..fd2888988f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_126.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_127.plan
index 06e56d2a36..56c0650f2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_127.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_13.plan
index 86b9ed577f..6ae4a46477 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_13.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_14.plan
index 181041bdca..5e59d4192c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_14.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_15.plan
index cc1427ee08..0b26be3f5b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_15.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_16.plan
index 5441bfd49c..aef096540f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_16.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_17.plan
index 64475384c1..80d1ffc0f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_17.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_18.plan
index fb147f5cd3..c61238c133 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_18.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_19.plan
index 41ac9840d0..94a4001c63 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_19.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_2.plan
index bf6c447a9a..4d20155520 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_2.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_20.plan
index 2751d143eb..fc9872991e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_20.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_21.plan
index d288dc9704..d922074700 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_21.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_22.plan
index 096d40eceb..60e99766f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_22.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_23.plan
index 991f2b1e1b..4f89e79ded 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_23.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_24.plan
index e8dae9ecc5..ccbe9d10f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_24.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_25.plan
index ecc8c0cd84..0578ef7913 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_25.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_26.plan
index 26a8552d4b..dfb9f8011b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_26.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_27.plan
index 6b175da4a6..e4b6361874 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_27.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_28.plan
index 228b456af1..2f63c056ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_28.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_29.plan
index 7824a1cb6d..e1e0f82b1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_29.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_3.plan
index f97e645192..93364767b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_3.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_30.plan
index 7824a1cb6d..e1e0f82b1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_30.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_31.plan
index 1308305edf..963114dd73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_31.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_32.plan
index 97cba881be..83cfeefc9c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_32.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_33.plan
index cd5ebcee09..42d6aa71c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_33.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_34.plan
index 924b09e0dd..714a365c9b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_34.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_35.plan
index a8e033b902..041a34de6e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_35.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_36.plan
index 40488adc9f..4d4bc19c26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_36.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_37.plan
index 2f75a794fc..c0517ac463 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_37.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_38.plan
index 6ea7aad475..9adad472fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_38.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_39.plan
index daf825c1e7..08513cd4b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_39.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_4.plan
index 643d1ae404..b0c717c31c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_4.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_40.plan
index bb2c502f5e..0a10d71201 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_40.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_41.plan
index 121a74b4be..179167b504 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_41.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_42.plan
index acc0b9d802..5f0bc5ba70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_42.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_43.plan
index e4b6b52b0a..d0a13eb604 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_43.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_44.plan
index 46702d842f..9a61110597 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_44.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_45.plan
index 5d9fba2e90..1e8f727a80 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_45.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_46.plan
index 134471c630..4d1a1485db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_46.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_47.plan
index 1d30d671ee..e00977d730 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_47.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_48.plan
index 68ad7e78cc..e17fd01fb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_48.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_49.plan
index 3864b2ca38..19bcba0e9d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_49.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_5.plan
index 7189163899..d5ecb74ba9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_5.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_50.plan
index 1359db024d..5afb637123 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_50.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_51.plan
index 0a008b058b..cbf7c67abf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_51.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_52.plan
index 6a919d1594..a45d809286 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_52.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_53.plan
index edd3e342b8..126bad7bcc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_53.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_54.plan
index cadb820d7f..e84ba38e66 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_54.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_55.plan
index c4a8244fd5..ad04d11839 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_55.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_56.plan
index 819492b144..f994d2d250 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_56.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_57.plan
index fa2e1054f0..3cff50f3a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_57.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_58.plan
index 19fdd34f52..b2592b5d14 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_58.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_59.plan
index 1d4bf75be7..5075177b09 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_59.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_6.plan
index 859dc7743c..b937fba974 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_6.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_60.plan
index 80484ca3b0..44e0eba77d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_60.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_61.plan
index 85c8d8337b..ec3e7f9341 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_61.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_62.plan
index 73a4240fca..ba65aaad14 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_62.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_63.plan
index bc65ba3b9d..75aa3c3345 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_63.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_64.plan
index b76d20b78e..9144e25075 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_64.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_65.plan
index 1a829637e7..14b8421726 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_65.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_66.plan
index 4045f83ec9..16a7b74ed8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_66.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_67.plan
index c0e8883427..52282e572b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_67.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_68.plan
index 2992bee68c..00841b83e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_68.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_69.plan
index 13fb4758b4..350f7cd816 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_69.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_7.plan
index 1d4bf75be7..5075177b09 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_7.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_70.plan
index e088ba6e64..33856e68b4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_70.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_71.plan
index b15d136440..f01dcbd813 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_71.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_72.plan
index cae422af87..46d9ff47a7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_72.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_73.plan
index 3def70ecc5..60a94424c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_73.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_74.plan
index bf6c447a9a..4d20155520 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_74.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_75.plan
index 03a3e5e144..276174b312 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_75.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_76.plan
index a9ea81981c..9d3003af73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_76.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_77.plan
index 2252fade84..d38616c26c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_77.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_78.plan
index 5f8d1ac8bd..acf1649b82 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_78.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_79.plan
index 02a9bcaa93..437fb3eeb2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_79.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_8.plan
index 08a36f4f86..7b4aca65fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_8.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_80.plan
index 9d8149778a..61a183e730 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_80.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_81.plan
index 4daa9b62d0..81d3ef3867 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_81.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_82.plan
index a7ba5712d5..8217402fa8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_82.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_83.plan
index 5cb5b6a5a8..e0d7a6b3e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_83.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_84.plan
index dd44c6b2a8..b5916099e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_84.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_85.plan
index 6532733179..e10ec1aca6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_85.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_86.plan
index d46d1fe704..4fc15447dd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_86.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_87.plan
index e8813b33d3..59ddb8555a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_87.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_88.plan
index 695f99ddcc..465131f8ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_88.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_89.plan
index 5ec5246d06..dd5a63cb4c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_89.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_9.plan
index 03fc5ff08e..26a4b413cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_9.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_90.plan
index 4087a7f6dd..eaf375c2a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_90.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_91.plan
index 93d7222985..bf530c05b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_91.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_92.plan
index 411d578cfd..4111eaa6f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_92.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_93.plan
index 97cba881be..83cfeefc9c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_93.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_94.plan
index 0bdeb31b5a..5ce3dffe70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_94.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_95.plan
index 627d38ca82..7884bb4be0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_95.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.a And item.e < item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_96.plan
index 42d815f00b..fbd6af04f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_96.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_97.plan
index d294018712..404e82d6b6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_97.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_98.plan
index 49ae7db606..e114bde7fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_98.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_99.plan
index 28d778d771..32fb8d1210 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-1.test_/query_99.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_1.plan
index e5a6bbae89..d3a4aef055 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_1.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_10.plan
index 3c286dd912..806ccd1a75 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_10.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_100.plan
index 566b4feecf..93459f94a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_100.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_101.plan
index b986eaa8be..b034b95ef0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_101.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_102.plan
index 8fcd227b05..1e18408b6f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_102.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_103.plan
index 5fb9b46232..cccf73f6d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_103.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_104.plan
index b31dea22a4..71b90bc61c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_104.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_105.plan
index 2536caeb11..ae43d87b94 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_105.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_106.plan
index 0a345af616..d2947be714 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_106.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_107.plan
index f50da89b34..f01341f946 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_107.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_108.plan
index 20ea16c7e9..41b5706ecb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_108.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_109.plan
index f1e3f18456..b401fcfa65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_109.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_11.plan
index ba761cb960..0129bbb328 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_11.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_110.plan
index d6ee991d99..cb2629c145 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_110.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_111.plan
index a6fd405e6e..6cd08200c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_111.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_112.plan
index 16e64c90e3..62690126a9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_112.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_113.plan
index 6dac315829..c93c423625 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_113.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_114.plan
index 870fb31f29..085ed09008 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_114.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_115.plan
index 92040df02e..e2bb220e26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_115.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_116.plan
index c5bf879a9d..d282d8bc48 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_116.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_117.plan
index 52a7cb6371..d3cb7b56c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_117.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_118.plan
index d5915dc2f8..93c0be29e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_118.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_119.plan
index c1961a06b4..205c0ec14f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_119.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_12.plan
index 3406ad69a6..100e68ce1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_12.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_120.plan
index b334fae11c..6ca1c4a7aa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_120.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_121.plan
index dd208a3c9b..0f4d60dade 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_121.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_122.plan
index 1a53a3ffde..9ca2f30404 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_122.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_123.plan
index 35f41c5ebe..514d684441 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_123.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_124.plan
index 3406ad69a6..100e68ce1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_124.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_125.plan
index 42715a1b82..d13309846d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_125.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_126.plan
index 1a3714e940..154ded0eca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_126.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_127.plan
index b3370fc7bf..2230e62244 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_127.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_128.plan
index e395042236..1d7d50c9cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_128.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_129.plan
index 1da1380f86..ad3bf7b423 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_129.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_13.plan
index 7c93aae596..f9ea3ae5f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_13.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_130.plan
index d3c97e609c..2423c9087a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_130.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_131.plan
index 8ea67c7fc8..1917a1f0f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_131.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_132.plan
index 4162b6e518..60b1b4f71e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_132.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_133.plan
index 0d9b3307e8..063e96ed75 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_133.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_134.plan
index 1554328cc5..b69f27775b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_134.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_135.plan
index 98eeb86b40..051fc49e4e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_135.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_136.plan
index c4c39088de..c7d3c47bc8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_136.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_137.plan
index 3cd4952b42..85d222a5fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_137.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_138.plan
index e6325ee9d7..2ebb9ff676 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_138.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_139.plan
index c5debdb46c..48c2d09d9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_139.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_14.plan
index 79a22aec95..88461528ea 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_14.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_140.plan
index 5edabcdff1..61d8807f2f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_140.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_141.plan
index b13eb79896..25d6ab6619 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_141.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_142.plan
index eab85042bd..30fbbede3d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_142.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_143.plan
index 5bfd52240c..a7668922f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_143.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_144.plan
index a33a6b43ef..5fdea45833 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_144.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_145.plan
index dc3f43d7b7..2552503a7b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_145.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_15.plan
index 246eda4d23..1f6b3948fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_15.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_16.plan
index 31f6f9bcb9..1a6f37c1b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_16.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_17.plan
index c467f0ffed..2d6c8accc5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_17.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_18.plan
index 17bed414d9..99e231f607 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_18.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_19.plan
index 5aa8d6c7b7..52a0d7539f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_19.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_2.plan
index 40f81a1c77..13183dad06 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_2.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_20.plan
index 5a4c5e6341..ef942bff82 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_20.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_21.plan
index 3eb8cd3ba7..444409dddf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_21.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_22.plan
index cded301598..e9163a8abd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_22.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_23.plan
index f50da89b34..f01341f946 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_23.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_24.plan
index 53df144bc5..d50471cfd6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_24.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_25.plan
index 2536caeb11..ae43d87b94 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_25.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_26.plan
index 666a1c6f9e..14af4e0df0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_26.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_27.plan
index e070326c1b..298b40c9e5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_27.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_28.plan
index c7221090fa..208d50d68b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_28.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_29.plan
index d89d4f603b..6d1fbb597f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_29.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_3.plan
index 8d672d2c7f..acd1e50a7b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_3.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_30.plan
index 79eb48e7cc..4e55636a10 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_30.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_31.plan
index 58cf268d44..4aa2429e2c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_31.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_32.plan
index 574cb11873..f235a1714d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_32.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_33.plan
index 835ab0a8f3..bdccb0aac9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_33.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_34.plan
index 2d6e7e6862..e681cb4eff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_34.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_35.plan
index 3012d5d48c..c8a997e40c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_35.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_36.plan
index 8dc552caca..89ae7e01fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_36.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_37.plan
index 61e4ea2b9c..d91e47fd4a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_37.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_38.plan
index ea4d4405ee..fa0ffd36fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_38.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_39.plan
index 68d6519b2b..dd3aa03683 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_39.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_4.plan
index 57e7e9f975..b876a1d346 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_4.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_40.plan
index 9332049c23..767a5a245e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_40.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_41.plan
index 2d833e7f99..aff79e67d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_41.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_42.plan
index 33f04b3189..c4c4ec61f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_42.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_43.plan
index 4f93fd1a3a..e6917109ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_43.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_44.plan
index e4b6f213e0..420a1bf48d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_44.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_45.plan
index d6a8f4c1c3..fc62829574 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_45.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_46.plan
index c8d6249a22..782953848d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_46.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_47.plan
index e5a6bbae89..d3a4aef055 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_47.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_48.plan
index ff60472806..2136f8f292 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_48.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_49.plan
index 870fb31f29..085ed09008 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_49.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_5.plan
index a605f63c28..adfdd04357 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_5.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_50.plan
index a5b7819d5b..b059ce99cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_50.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_51.plan
index f797c44632..10e10a8f7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_51.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_52.plan
index 06da8d1b9e..593ddd72cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_52.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_53.plan
index 022da708b5..9b4db51367 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_53.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_54.plan
index 7dee557f8c..b67ec50695 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_54.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_55.plan
index 8b7b68a733..89582b2dcd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_55.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_56.plan
index f6fd7606a6..fb51350a5f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_56.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_57.plan
index d5a9a4c763..74019dfad8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_57.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_58.plan
index 36a25a4e8b..b97872fad4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_58.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_59.plan
index 51bdd2bf2c..0e3aeba1b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_59.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_6.plan
index c03107f94f..62963c09da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_6.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_60.plan
index 98f9415656..9c7785c50a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_60.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_61.plan
index 52be054bfc..78968663db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_61.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_62.plan
index 67688fec79..194b4fb9a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_62.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_63.plan
index 30a3146e28..8b20499801 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_63.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_64.plan
index 0d1ba910a2..434135e436 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_64.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_65.plan
index 22aa85169b..1fbf2cf4d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_65.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_66.plan
index b4b931ea92..da39773983 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_66.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c > item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_67.plan
index 2728980e67..c16b45a727 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_67.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_68.plan
index dc5b7cb863..e7c5ee02a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_68.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_69.plan
index 6cc0c7afda..f7eb4e4f26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_69.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_7.plan
index c46902ff0b..540a9d35e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_7.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_70.plan
index c039b38e1a..b420f0fe67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_70.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_71.plan
index 2a50cdc1e2..9729802987 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_71.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_72.plan
index 04176b16db..83b79703b4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_72.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_73.plan
index a6fdae4964..1c420a7cce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_73.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_74.plan
index 3ee6c8ae4d..30103307fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_74.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_75.plan
index 6fc21ef8e6..07ac372bb9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_75.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_76.plan
index d433a5728f..8a867f3ae9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_76.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_77.plan
index 1308e5673d..db3361cf00 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_77.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_78.plan
index cc6d169911..86db777a3a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_78.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_79.plan
index 74b09faa66..5c529fab2c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_79.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_8.plan
index d3642048ad..25f4f34866 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_8.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_80.plan
index 8ff57d976f..bcf84a3052 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_80.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_81.plan
index 8ee94c67ac..e640f469f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_81.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_82.plan
index 68613a8c14..d603dd688b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_82.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_83.plan
index a75f777cbb..fc5f2cf080 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_83.plan
@@ -1 +1,210 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_84.plan
index 68adca58d2..180db9532f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_84.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_85.plan
index 17f2505936..12309b463c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_85.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_86.plan
index 034974adfc..508b8a262a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_86.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_87.plan
index 19ece89194..bda5441abd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_87.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_88.plan
index 98e11b24cd..29fa867da9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_88.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_89.plan
index e404db177d..98fb6ca092 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_89.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_9.plan
index b47fdc78f8..fbb1b2325c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_9.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_90.plan
index 7692d072f4..60830c8091 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_90.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_91.plan
index 4f8dfa72cb..9a79dd03cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_91.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_92.plan
index 0432a5f376..1141e3620f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_92.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_93.plan
index 2404543913..94e2049730 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_93.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_94.plan
index b46c1daaa2..e790d2951c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_94.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_95.plan
index 5ae67a9003..ea63ccd04c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_95.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_96.plan
index f50da89b34..f01341f946 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_96.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_97.plan
index bfe6cb7772..7f95f1a228 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_97.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_98.plan
index 9ed5e04fe2..ebc1d126c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_98.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_99.plan
index 32b7c791e6..c2f94ce0e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-2.test_/query_99.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_1.plan
index fb5efb6aae..e6c7326e69 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_1.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_10.plan
index 03fc4c8376..67fd2c3dc1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_10.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_100.plan
index 47237777e9..e6df5a46af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_100.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_101.plan
index d7eb7707a0..3e18680b68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_101.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_102.plan
index e0a8ed055f..2cafd9005b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_102.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_103.plan
index ae6f785318..d7877d3709 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_103.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_104.plan
index ea974cff42..56085426d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_104.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_105.plan
index c2c226ee9b..992013b6b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_105.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_106.plan
index 47888dfd60..6c70b9811e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_106.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_107.plan
index 72ae9da3d5..b794474f0c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_107.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_108.plan
index ec2f689b71..ab7df7678c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_108.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_109.plan
index 6bfeb1b840..274e1efcb1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_109.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_11.plan
index 3be3ce04fd..4b83c51e70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_11.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_110.plan
index b16ac31e11..721ba40caf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_110.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_111.plan
index 5919fa51ef..4f7459dd5f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_111.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c > item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_112.plan
index 8fa4702b2c..53c776caf6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_112.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_113.plan
index 1711467830..74ab07ac06 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_113.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_114.plan
index 15125d146b..d2db979f6f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_114.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_115.plan
index 72d2dcc573..6e17296f10 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_115.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_116.plan
index c19ee232f7..80c5ffabd1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_116.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_117.plan
index 8495afd1a8..f4984b903d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_117.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_118.plan
index b572a91535..d26dd64d74 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_118.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_119.plan
index c06e1a50aa..7d856f0b61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_119.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_12.plan
index 61ba0463fc..3277f39541 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_12.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_120.plan
index cf5c0b2866..689e1dfc02 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_120.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_121.plan
index 6635af9eb4..4f33a7c8ed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_121.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_122.plan
index 1f629f0e13..4deaaf0a38 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_122.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_123.plan
index ef069c869b..180a991bfd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_123.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_124.plan
index 51b2cc00cf..8d7940b34f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_124.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_125.plan
index d20933615d..6139ae0ed0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_125.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_126.plan
index f2238bcec4..c78cb8d066 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_126.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_127.plan
index e12fd72ff0..1a5fed4425 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_127.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_128.plan
index 1f2c5b0246..01ab66dfc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_128.plan
@@ -1 +1,210 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_129.plan
index 374ad8848f..2da37580c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_129.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_13.plan
index 2292a1d7c5..1e454d24b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_13.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_130.plan
index 72d2dcc573..6e17296f10 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_130.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_131.plan
index 88da43df80..0071d461b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_131.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_132.plan
index 4b0f6b1d76..87e5d35449 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_132.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_133.plan
index d98273e48a..c032a35cb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_133.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_134.plan
index 17383f4804..9824fb1d49 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_134.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_135.plan
index 00660364b3..d022d22ba1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_135.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_136.plan
index 7ab96e0ee1..5b89bd9bb9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_136.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_137.plan
index e96d0bf16a..eb1ebc345e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_137.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_138.plan
index 8ee496a26d..70255e8e13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_138.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_139.plan
index a9c51b8727..60041e994d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_139.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_14.plan
index 6cef969b71..9956148a3c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_14.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_140.plan
index 28b11b5d4a..be9118ea08 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_140.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_141.plan
index 18a81c049f..8fd3418485 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_141.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_15.plan
index 51ad24d633..544fee5182 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_15.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_16.plan
index ccd6ffbe64..0be0f0f34f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_16.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_17.plan
index 0a22a6b3d1..6e19f23cd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_17.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_18.plan
index 8495afd1a8..f4984b903d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_18.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_19.plan
index 67f0437ebb..1b5a40249b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_19.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_2.plan
index 3845f4c410..8c558994c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_2.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_20.plan
index ef99e2b63b..9768c5c226 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_20.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_21.plan
index b1458a76e5..721d71088f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_21.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_22.plan
index 8495afd1a8..f4984b903d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_22.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_23.plan
index 47f64c6b70..5b307820c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_23.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_24.plan
index 61ba0463fc..3277f39541 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_24.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_25.plan
index 6d997fa13d..164b5c3fba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_25.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_26.plan
index 882ab39950..93a19c6989 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_26.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_27.plan
index f58abd2f67..94066e0e6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_27.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_28.plan
index 7de1f79c09..1f6c3070ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_28.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c > item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_29.plan
index d5e9c3644c..d0815e6a75 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_29.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_3.plan
index 69c76d93cc..891884829f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_3.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_30.plan
index 8ee496a26d..70255e8e13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_30.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_31.plan
index 7c6bb7fb56..d09582d199 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_31.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_32.plan
index 103a68196c..efb1d20151 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_32.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_33.plan
index efcf14d83c..552c088768 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_33.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_34.plan
index 67b2c1340b..a5c50daca5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_34.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_35.plan
index 61eb6f4b57..6cc0cf1e4a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_35.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_36.plan
index 4694948245..0a2b4ce31c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_36.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_37.plan
index 29ca93d484..6fedf36294 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_37.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_38.plan
index 2dd6d1ce0e..315138e1c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_38.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_39.plan
index 82dd76b792..ce29743370 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_39.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_4.plan
index ba6457fbe5..ce5c84d0e2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_4.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_40.plan
index 7221af4be1..2e0899d3b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_40.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_41.plan
index 8eb532f12e..ccbfd6de0b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_41.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_42.plan
index 4a734cee88..4cfa3e79d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_42.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_43.plan
index f286fe47e1..b7dfff8f83 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_43.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_44.plan
index 5abb2069ad..b78c5290a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_44.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_45.plan
index 8a33cf1eba..a7f557c581 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_45.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_46.plan
index ee4cf0a20b..94f46342d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_46.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_47.plan
index b411351986..33282cbb73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_47.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_48.plan
index 8ee496a26d..70255e8e13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_48.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_49.plan
index ee7b7c2e1a..66f25dcdc0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_49.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_5.plan
index feb5bbd954..e9fdd4b63b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_5.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_50.plan
index 310f939255..2b16eab31c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_50.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_51.plan
index 14f5aeefb3..dac0024965 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_51.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_52.plan
index 1fe90ead5f..e51debbf0b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_52.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_53.plan
index 04577813fc..c28a62303c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_53.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_54.plan
index 097a283fd4..56d1210b64 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_54.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_55.plan
index 32770b54fa..b16a5f4380 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_55.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_56.plan
index 3ade7699ea..af23c9c496 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_56.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_57.plan
index 63ba9234a8..334880eded 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_57.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_58.plan
index 8a33cf1eba..a7f557c581 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_58.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_59.plan
index 1af4a5bff7..be66ef5b85 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_59.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_6.plan
index 9b818788bf..4bffd0b64c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_6.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_60.plan
index 6bd427fd96..bcdee7f154 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_60.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_61.plan
index 3be3ce04fd..4b83c51e70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_61.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_62.plan
index 2b68c3f02a..f808059107 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_62.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_63.plan
index a48b17dcde..102b804560 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_63.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_64.plan
index 57ca1060b2..4610aa9dba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_64.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_65.plan
index 9707fd0a6a..5a46ea3e45 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_65.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_66.plan
index 0b5cbc30aa..429e7f28ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_66.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_67.plan
index f21c76bb68..d6faf927f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_67.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_68.plan
index d7f5075d7a..53df2550d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_68.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_69.plan
index 22e9cc473b..2a107a38e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_69.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_7.plan
index 8c5998ea8d..2074507b94 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_7.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_70.plan
index 156e1db76f..815658aafc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_70.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_71.plan
index 067870820f..338d251cf9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_71.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_72.plan
index 597aae8f73..f0bf70b709 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_72.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_73.plan
index 76d34c00ae..0f6bded0fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_73.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_74.plan
index 1e88e62d1f..1e026291bb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_74.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_75.plan
index 7fa92c932c..f0c9aed1b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_75.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_76.plan
index 124462ed04..ec6a166ef0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_76.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_77.plan
index 14f5aeefb3..dac0024965 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_77.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_78.plan
index 0384a5970e..27dd899a99 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_78.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_79.plan
index fa4868988c..fa2d9527bb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_79.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_8.plan
index 5e37f9984f..e1d8df2ca8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_8.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_80.plan
index a08ab684c8..2b49093032 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_80.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_81.plan
index 103a68196c..efb1d20151 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_81.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_82.plan
index 1a096e08ed..581a64446c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_82.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_83.plan
index a1a8e4c49a..8e4a40a798 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_83.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_84.plan
index 0ac0f66644..3c95ca8747 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_84.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_85.plan
index 354cb2f76e..af8819c2e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_85.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_86.plan
index 51295010b3..e6b693b46e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_86.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_87.plan
index 2ff02f0e65..78ba8d551a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_87.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_88.plan
index 3e10666413..bcc73c49ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_88.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_89.plan
index 6e0c7d94e8..5a429e49e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_89.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_9.plan
index e95db2df2b..bf9ac79d43 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_9.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_90.plan
index 8ee496a26d..70255e8e13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_90.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_91.plan
index e20f28b732..217a3a3580 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_91.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_92.plan
index d08be0184f..ded1ff53a1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_92.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_93.plan
index de42e563ec..06399022c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_93.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_94.plan
index 7bab502479..1b9799db00 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_94.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_95.plan
index e401feb1d4..a47f2cfbbf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_95.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_96.plan
index 8aaf67b314..584661459a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_96.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_97.plan
index e9f344b928..62a013a5f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_97.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_98.plan
index 283b4f70d9..7faf9a5c64 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_98.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_99.plan
index cd55070eed..a587dbd012 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-3.test_/query_99.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_1.plan
index f5560b99bc..b5e9efef2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_1.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_10.plan
index 8c44081556..2bd329a4d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_10.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_100.plan
index 0c7a87863c..eba60f6e3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_100.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_101.plan
index e3249c7a99..aee23a5139 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_101.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_102.plan
index 9fdfc09113..6fa39372c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_102.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_103.plan
index 06ad3568db..21d94a0c3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_103.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_104.plan
index 121abac1dc..62b9fba6c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_104.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_105.plan
index b519ed441a..219fbb9de4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_105.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_106.plan
index e87397ea85..1076445e61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_106.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_107.plan
index 23f0d2c5c2..2f9e48e2fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_107.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_108.plan
index 7b015ad880..521b13443e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_108.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_109.plan
index b07c043be5..15d608a5f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_109.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_11.plan
index 2fcd140e62..cf5aaad186 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_11.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_110.plan
index f5c41972cc..3a197cb491 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_110.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_111.plan
index f4fe8e7619..1e7c2a5849 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_111.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_112.plan
index 1a627efd28..1457eb5f73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_112.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_113.plan
index 9ed85b1fbb..6da03bc6e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_113.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_114.plan
index de16d87088..2c8750341a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_114.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_115.plan
index 345935dd7f..b0fff275e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_115.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_116.plan
index 22f3ce18dc..1d813036e5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_116.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_117.plan
index a65c9baf38..fa45559793 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_117.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_118.plan
index 41c488af6e..3cd1941615 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_118.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_119.plan
index 361bdc1d44..fa97eb9a62 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_119.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_12.plan
index 8b2f650fad..c68fa8515d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_12.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_120.plan
index 781e461c34..d0cdd7300f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_120.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_121.plan
index c5a5511d96..5037f1b80c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_121.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_122.plan
index 0070cbd937..28a37cf443 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_122.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_123.plan
index 4b3b3402c3..c0eca2e545 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_123.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_124.plan
index 6d58ed12ca..62c78d6712 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_124.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_125.plan
index af5bca268d..f545d62b9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_125.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_126.plan
index 5bb7d263bd..3d8a4d2777 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_126.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_127.plan
index 24a36f06c8..d67c86f0e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_127.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_128.plan
index 2d34f0017a..57e77dce8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_128.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_129.plan
index c9f105f2ad..51dbb83a8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_129.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_13.plan
index 329cb553c9..6c7568231e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_13.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_130.plan
index 5f8ec58fbe..670801d4ff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_130.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_131.plan
index dfcb4f8c21..a40636438c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_131.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_132.plan
index dd1b7b52e9..ba88caf09c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_132.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_133.plan
index e9f553209d..c992cdbe26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_133.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_134.plan
index 078c394268..b0709d0135 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_134.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_135.plan
index 57bf3163b2..44e989abac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_135.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_136.plan
index 1b1e449ad9..3856808606 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_136.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_14.plan
index b18647a9bc..834e49cd66 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_14.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_15.plan
index a354daf42a..14c9fd2eef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_15.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_16.plan
index ea2ffc8688..cd431209a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_16.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_17.plan
index 0dfa2c2cbf..61344e0c84 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_17.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_18.plan
index fec8c5378e..3ddf9f8dce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_18.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_19.plan
index 701cb242fc..19b35cdeb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_19.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.b > item.c And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_2.plan
index d7f7f71ecd..1f06dd239d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_2.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_20.plan
index ad7a3f7b8b..b43b88ee63 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_20.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_21.plan
index 74da5691c7..46b3499f81 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_21.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e > item.c Or item.e < item.d Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_22.plan
index eba9073d4e..014a5e8af8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_22.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_23.plan
index 87f1bb4221..4cf8c0d0dd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_23.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_24.plan
index 019bfccfe4..442542aab1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_24.plan
@@ -1 +1,209 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_25.plan
index ad15a1e30f..1b4d6ff71c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_25.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_26.plan
index f5560b99bc..b5e9efef2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_26.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_27.plan
index d0f145ca9a..b82ad8ef77 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_27.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_28.plan
index f44d4e1014..2bc8422937 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_28.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_29.plan
index 631075a203..3fd3a6de9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_29.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_3.plan
index 4aebd4607a..410b895acd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_3.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_30.plan
index f5560b99bc..b5e9efef2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_30.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_31.plan
index 749f003f5a..4f2420baee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_31.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_32.plan
index 46d59244da..e116b0acd3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_32.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_33.plan
index 8c267000e6..591d76d191 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_33.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_34.plan
index e408b06129..266faebcc9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_34.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_35.plan
index 96844ad324..1170f73a2b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_35.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_36.plan
index 02e3991334..a35ffc64fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_36.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_37.plan
index a4e9dd45eb..0b3a2f018b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_37.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_38.plan
index a0058db898..349a8a5b63 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_38.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_39.plan
index a14c5024fc..c19b3faf45 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_39.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_4.plan
index 5ed1bf7296..66042f9dce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_4.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_40.plan
index c1cc5eb8d3..869429623d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_40.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_41.plan
index 2bdb11570e..f02e83d93e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_41.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_42.plan
index 4c68c2f0ae..693a4ac042 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_42.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_43.plan
index 2cc2e353bb..3b1ef13280 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_43.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_44.plan
index 20faf98bcc..0670acc5dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_44.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_45.plan
index 7d750a44a2..e0b047d8d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_45.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_46.plan
index c1d08888fd..3c3f661ea2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_46.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_47.plan
index 9ac640e02a..b5646150cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_47.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_48.plan
index 579bef509c..a38ae6ae32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_48.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_49.plan
index 8f75a78b02..cd3fd7855d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_49.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_5.plan
index ff762cd66b..f2f6b314c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_5.plan
@@ -1 +1,210 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_50.plan
index ef6dc861fb..d5efd23ff4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_50.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_51.plan
index c223a837df..fefa81fe8b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_51.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_52.plan
index 37a9ad0e35..20e42ad646 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_52.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_53.plan
index 1ee7a8d7d8..1aef7b7e89 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_53.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.b \\u003E item.c And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.b > item.c And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_54.plan
index 9a12c63dd5..177968e880 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_54.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_55.plan
index 2f03cb9b15..9abea25d64 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_55.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_56.plan
index 6c0b65bfa1..2f9e06a367 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_56.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_57.plan
index c223a837df..fefa81fe8b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_57.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_58.plan
index 4414b01b29..6cd50c5ee9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_58.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_59.plan
index 783d9c3010..cb817c86b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_59.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_6.plan
index fb9e0f0a5d..9bf4b2cdc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_6.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_60.plan
index 84494bb736..58ac512b13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_60.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_61.plan
index 53710a45ae..93daceb06d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_61.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_62.plan
index 8c1fc71d7f..b888b9b7a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_62.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_63.plan
index 04354f651a..14f30eb515 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_63.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_64.plan
index a48d1b70ec..1fea19620d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_64.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_65.plan
index ce83fafcbb..cc344dcf69 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_65.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_66.plan
index d8ae23ee4b..c3b6278e0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_66.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_67.plan
index 9adc4d9a3c..370901d3e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_67.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_68.plan
index 46c4ce6ab3..b00a85257f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_68.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_69.plan
index 6ab862903a..7e119075e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_69.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_7.plan
index ab67a8e218..d1866c3d7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_7.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_70.plan
index e7fa6eecee..db43429efa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_70.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_71.plan
index 2026f5f6a5..80bcc7528a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_71.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_72.plan
index c7e5e06870..6c7d3ce686 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_72.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_73.plan
index 81e3c95cad..562e5066b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_73.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_74.plan
index 2b30159db2..2301776468 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_74.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_75.plan
index d0b1789112..3c8da3d76f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_75.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_76.plan
index 406c80277a..348e372d78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_76.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_77.plan
index ded955d8e6..4c2740b1c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_77.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_78.plan
index f109082554..1bb0f21694 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_78.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_79.plan
index 750411a12e..b8045483f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_79.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_8.plan
index 003e31b061..1929dcaece 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_8.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_80.plan
index 5812eed8ce..60bac02458 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_80.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_81.plan
index a85c4c58a8..7fdb014749 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_81.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_82.plan
index 70e85dba39..2d97e26edd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_82.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_83.plan
index 30dcb11dd1..c3d87cd1fe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_83.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_84.plan
index cfe48f9d3f..2a64f6f0da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_84.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_85.plan
index 9fb6a74e5a..29fcf27391 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_85.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_86.plan
index 5e0934954d..556ee5fe91 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_86.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_87.plan
index 6229cbd2c1..6cb121937b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_87.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_88.plan
index 0c1fd005a1..895c8e6e33 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_88.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_89.plan
index 0a145c0b4b..36d3504a16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_89.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_9.plan
index 8addf20b9b..f34b61ddac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_9.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_90.plan
index baa6878f19..a6985f5553 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_90.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_91.plan
index 0d279b69ba..e6be206d2d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_91.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_92.plan
index 6533d137a3..ac87a78810 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_92.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_93.plan
index e6c9a53b2f..2edb51f646 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_93.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_94.plan
index 42f53a013c..3a3208e0b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_94.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_95.plan
index 75bee87c14..9a0360ad24 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_95.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_96.plan
index d9ea0929d4..4696c83576 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_96.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_97.plan
index 8a2ac8af1b..3d45383adf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_97.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_98.plan
index f629cebddd..3fea357c5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_98.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_99.plan
index dd1b7b52e9..ba88caf09c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-4.test_/query_99.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_1.plan
index 09f757678c..0945933ca4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_1.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_10.plan
index 2c20164e4d..c72535c3c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_10.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_11.plan
index a7b723839a..b844ef9603 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_11.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_12.plan
index 1d779b4970..b3e70cb2e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_12.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_13.plan
index 4663071824..6626f5924e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_13.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_14.plan
index 45a0bb7579..cdf3d997db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_14.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_15.plan
index d5488a60ec..36c9c3a7d1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_15.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_16.plan
index 9f15cf4964..cc00f303ad 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_16.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_17.plan
index 6b519fbb79..f41066e224 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_17.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_18.plan
index 50ec68c1ad..b49f0bac54 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_18.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_19.plan
index b8d0002a4b..9bdb36318c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_19.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_2.plan
index bc83b99e1a..d10c92696b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_2.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_20.plan
index ec68e17d1c..c209e22589 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_20.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_21.plan
index 56b2a7b4c2..063aac8a3a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_21.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_22.plan
index e219638f14..1f9f4aa8da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_22.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_23.plan
index f33635cc3d..ddbbdf8c57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_23.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_24.plan
index 391116e84f..f824aff9b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_24.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_25.plan
index e9009c9e1d..5388a0e238 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_25.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_26.plan
index d1da1386bc..ea96bb0886 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_26.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_27.plan
index 46271f1999..ba0290108a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_27.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_28.plan
index 5fa712c899..ded9c27065 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_28.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_29.plan
index f9cd8586de..30b7b244ec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_29.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_3.plan
index c68e177c71..e9e12744ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_3.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_30.plan
index f872b04205..f2c865e8fe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_30.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_31.plan
index 5700dbe431..25b2ebf2e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_31.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_32.plan
index 999832b12e..dd3a95daf6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_32.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_33.plan
index ded3b6ca02..34da536a88 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_33.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_34.plan
index 678fcd6cac..bd9ca18267 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_34.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_35.plan
index b4c47f5661..da0d385c3c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_35.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_36.plan
index 8b81a51bbe..10d4e751e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_36.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_37.plan
index e8f8cd9d64..4a5a2f050a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_37.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_38.plan
index 26fcca1cd1..5a52418246 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_38.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_39.plan
index 214ce56132..414d80113c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_39.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_4.plan
index 1a003186c8..496ff669c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_4.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_5.plan
index c13317fc5b..017ce3eace 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_5.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_6.plan
index 36143bbfd0..75a7e4f60e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_6.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_7.plan
index 7c000580c6..c7d9532d7a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_7.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_8.plan
index 708240fa19..0160038f50 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_8.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_9.plan
index 214ce56132..414d80113c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select1-5.test_/query_9.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select1-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select1-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select1-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select1-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select1-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select1-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_1.plan
index 075029b12f..44ffbbdea2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_1.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_10.plan
index 77ead2a18a..d2e6555321 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_10.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_100.plan
index 9b43a98d42..7b20bd6e14 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_100.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_101.plan
index 2a4274c958..d393d3ea8b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_101.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_102.plan
index 2de4a0e2b4..b02f1352da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_102.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_103.plan
index d9bc9dac23..f5118d2e22 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_103.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_104.plan
index 554875e354..9d6a24d34c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_104.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_105.plan
index 471f2f45df..530e3639c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_105.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or Exist(item.b) Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or Exist(item.b) Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_106.plan
index 650c55eec2..5fed7d3db3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_106.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_107.plan
index 075029b12f..44ffbbdea2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_107.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_108.plan
index ec06b4cf6a..8bc8c7d776 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_108.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_109.plan
index f7ecada516..9976343aba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_109.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or Not Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or Not Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_11.plan
index 4b5d099aa4..11237ac9e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_11.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_110.plan
index 39221d7782..733bb76dae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_110.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_111.plan
index 8c04198a55..8c913e5249 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_111.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_112.plan
index 50ca4c76e7..e494a6c9bb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_112.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_113.plan
index 1b9ec615ec..f52ee9ee93 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_113.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_114.plan
index ea38f1be07..95a6bba7e4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_114.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_115.plan
index 88dbec3d58..4d4bedb910 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_115.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_116.plan
index b15c3488f8..80e92118bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_116.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_117.plan
index 1e3812acbb..fab51c32ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_117.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_118.plan
index fa67f76dc5..f2287a69cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_118.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_119.plan
index 367fd5fb8a..6b3336d8ed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_119.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_12.plan
index bc9ca81b59..5a3d6a810b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_12.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a != 0 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a != 0 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_120.plan
index 2e6f6d82ac..63be93a409 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_120.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_121.plan
index 702d466155..1c3c1609da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_121.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_122.plan
index 9491292890..184bf145f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_122.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_123.plan
index 8b0f108523..8013283dd9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_123.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_124.plan
index 00bc1dfe28..6a28506c12 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_124.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_125.plan
index 59dfc6c6e4..ac0df63f65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_125.plan
@@ -1 +1,196 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_126.plan
index 0c1fd912d5..ca9dbb8c3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_126.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_127.plan
index d4a7db7ce8..0a196aba61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_127.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_128.plan
index 11fb777d67..63e8ec2db7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_128.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_129.plan
index 577524c837..b0bcfe6675 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_129.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_13.plan
index bb79393c95..3b14ecd580 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_13.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_130.plan
index b48c34e4b2..d09bba0cc3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_130.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_131.plan
index 1f43c265c8..1c2439878d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_131.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_132.plan
index 5b0fce6cec..29fd3d09b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_132.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_133.plan
index df541be94c..e5cc0c0732 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_133.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_134.plan
index 1352732398..c05efb1e21 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_134.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_135.plan
index 537c688072..45cb92cd7c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_135.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_136.plan
index d3d3d8eb92..f4154113fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_136.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_137.plan
index d192ccb49c..1847db6dde 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_137.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_14.plan
index 0f70793130..38123be557 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_14.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_15.plan
index 398898761e..81c7d49f99 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_15.plan
@@ -1 +1,198 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_16.plan
index fd3cd61228..5656b13632 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_16.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_17.plan
index 4a97c19bf2..b6ef34acbe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_17.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_18.plan
index 943c495774..7984b02030 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_18.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.a != 0 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.a != 0 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_19.plan
index 90cee9882c..2181016d4d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_19.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_2.plan
index 93634f8278..c590ea1e8d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_2.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_20.plan
index aa9a56d7cf..0e7adbe898 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_20.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_21.plan
index cfec873325..2e3fd35112 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_21.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_22.plan
index f8e161c70a..69d61ab852 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_22.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_23.plan
index 61b43532f9..f35b35f196 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_23.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_24.plan
index d4a7db7ce8..0a196aba61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_24.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_25.plan
index 9762b0bcaa..3045c0b287 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_25.plan
@@ -1 +1,196 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_26.plan
index debfab7e09..001d97ba04 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_26.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_27.plan
index c8456b88b0..6d5f005731 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_27.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_28.plan
index af33d22c1a..5d3260b050 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_28.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_29.plan
index bc3014bb6d..a12664cc70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_29.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_3.plan
index 69b172f0e5..80aee72df0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_3.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_30.plan
index 1c38ae4485..a634860583 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_30.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_31.plan
index aee7c8f064..3982108d71 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_31.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_32.plan
index 71f995ec22..327b6f972c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_32.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_33.plan
index 634a0a68b8..fc447e71a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_33.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_34.plan
index 584b7b480d..985e63e262 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_34.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_35.plan
index a16ef67a1a..b628d44f68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_35.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_36.plan
index 2cc259fb43..eac5b31c26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_36.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_37.plan
index de0374c12f..535b23d7d0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_37.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And Exist(item.b) And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And Exist(item.b) And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_38.plan
index 97ac147d8d..1101a2e817 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_38.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_39.plan
index 4198211c71..37bf8e5bae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_39.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_4.plan
index 781bcce187..8ddb5664cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_4.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_40.plan
index e50657f91f..d926a34492 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_40.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_41.plan
index aeea9f208d..d777f4f909 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_41.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_42.plan
index 4388c482ab..1818e4e5c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_42.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_43.plan
index c0fa0282e0..c0727ffd70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_43.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.a And item.e \\u003C item.b Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.a And item.e < item.b Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_44.plan
index 10ba5b1a39..afec26d489 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_44.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_45.plan
index d623ace95a..54f15fe9d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_45.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_46.plan
index c47ea27be3..58a3cfaf12 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_46.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_47.plan
index a334a3bd34..646d109a7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_47.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_48.plan
index 92ebbab479..ee596fa893 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_48.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_49.plan
index 9ce3078372..869d24a868 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_49.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_5.plan
index 9073669c7b..38dc6eb3c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_5.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And Exist(item.b) And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And Exist(item.b) And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_50.plan
index 862034f66b..4f1c9e764e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_50.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_51.plan
index df4f3d8faa..91ebd99771 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_51.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_52.plan
index c8952a8c93..ff72906f7b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_52.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_53.plan
index 57cebab624..de3ff4705c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_53.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_54.plan
index 314fc4a561..39caadd122 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_54.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_55.plan
index 1f43c265c8..1c2439878d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_55.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_56.plan
index 3a4cf31144..39d360a090 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_56.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_57.plan
index d505bbe389..49f207f912 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_57.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_58.plan
index 95f5afd054..489bff65b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_58.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_59.plan
index a1c48bc1ff..78aabd5b13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_59.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_6.plan
index b043138dac..6c3eb6cf09 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_6.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_60.plan
index 36903a49fc..201c85b46f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_60.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_61.plan
index 8510baecf0..18068a0a74 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_61.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_62.plan
index 56d09af98e..a9ec55cbcd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_62.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_63.plan
index 2df8b6f368..f3ae6a0533 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_63.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_64.plan
index d3a81e142d..dde602a7f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_64.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_65.plan
index caf035df23..5f72c300a0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_65.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_66.plan
index e4ee91d3c8..f9d77c966d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_66.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_67.plan
index 2085b1a481..61b4bd91b0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_67.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_68.plan
index a822cf3a50..08155a073c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_68.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_69.plan
index e2af7d8469..7a6170d34d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_69.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_7.plan
index d67969a25a..52ae053408 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_7.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.b \\u003E item.c Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.b > item.c Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_70.plan
index d1fe910ee9..1c810e48d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_70.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_71.plan
index 63bb3fb3a2..76bcf643da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_71.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_72.plan
index 06ba67a42a..22b73395c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_72.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_73.plan
index 7dbfdd4d86..1db966c0ad 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_73.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_74.plan
index c6cedf32ff..931575f811 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_74.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_75.plan
index f0a0d7b758..bf672c947e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_75.plan
@@ -1 +1,196 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_76.plan
index 1917ad24f2..92dd3c143a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_76.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_77.plan
index cd46a0dfbf..30f7532d6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_77.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_78.plan
index 77dbd6dd8a..e825ae0544 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_78.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_79.plan
index f860a91b42..6661b246f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_79.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_8.plan
index 9cf2ed4660..8e24d666b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_8.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_80.plan
index 55d6b3a3b0..de81b245d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_80.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_81.plan
index b42ecb0de6..e5954af5f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_81.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_82.plan
index 17c17348f1..f8ada204fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_82.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_83.plan
index 930bdd568e..dfab66cb38 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_83.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_84.plan
index 9510bb3f9f..348ad7f05f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_84.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_85.plan
index 0ffcc060ae..1d95e65b0c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_85.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_86.plan
index bfc935b21f..5bb585c38f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_86.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And Exist(item.b) And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And Exist(item.b) And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_87.plan
index 60ca39dc4c..0f39b69dc5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_87.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And Exist(item.b) And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And Exist(item.b) And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_88.plan
index 7948ab7cb1..6eae55a9ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_88.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_89.plan
index 0927d8b704..2210e41022 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_89.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_9.plan
index a48af1d430..1e510df106 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_9.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_90.plan
index b3a5f63e5b..91425465cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_90.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_91.plan
index 0bde699fdf..ecc99ccbda 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_91.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_92.plan
index a70c24e1ec..99bb0dec05 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_92.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_93.plan
index c4d4b9b56a..24d6a7284f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_93.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_94.plan
index 6d260b5367..90beae695b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_94.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_95.plan
index 71f995ec22..327b6f972c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_95.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_96.plan
index 559e3b414b..6c5a9ed464 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_96.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_97.plan
index c2cd2b8c5f..33b4f1eaaf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_97.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.b \\u003E item.c Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.b > item.c Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_98.plan
index 49875dd24f..21db986d06 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_98.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_99.plan
index 473a5ce4b8..2aef43e506 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-1.test_/query_99.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_1.plan
index 7f087f2690..f4e7833054 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_1.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_10.plan
index 1594e1cb96..2dd6f86418 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_10.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_100.plan
index 237014036c..ad0ad14823 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_100.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_101.plan
index b613d05355..194719d3c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_101.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_102.plan
index 24f12f93f1..58e94b8ce3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_102.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_103.plan
index 8f424f19cc..fbee5a320d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_103.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_104.plan
index 9122d1e123..1f371a2c1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_104.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_105.plan
index 1cbae020ca..5869e38367 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_105.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_106.plan
index 8f4171005e..0da829aadd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_106.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_107.plan
index c3003b3eb4..24694a031f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_107.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_108.plan
index bdb0c92708..5b992a2b9c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_108.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_109.plan
index d0cf726e1a..1c886c9e0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_109.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_11.plan
index be0490b2de..18ed2b02bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_11.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_110.plan
index e48ca2fd40..f6856a8b3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_110.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_111.plan
index 4d944819f5..f8114b5264 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_111.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_112.plan
index 8e5ce3cb6d..f4275f2b4a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_112.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_113.plan
index 70b8969240..87bbf5cfbc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_113.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_114.plan
index fb5f4dc7b8..00d305e15e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_114.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_115.plan
index 5a9ad9c088..4d313171c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_115.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_116.plan
index 1923acb492..fae54f58b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_116.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_117.plan
index a53e2fcec3..81066b18d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_117.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_118.plan
index 20bde57934..a1b340d9d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_118.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_119.plan
index 9a69e42279..55738b5084 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_119.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_12.plan
index 651622f8e6..95d7da44d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_12.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_120.plan
index 868a0090fd..f6acaecffd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_120.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_121.plan
index 2ad8e00e42..bbbcbaeef0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_121.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_122.plan
index 4c677b7406..cc2ee409b0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_122.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_123.plan
index 1923acb492..fae54f58b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_123.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_124.plan
index b439770585..49abd162ac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_124.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_125.plan
index 7c03823ea9..c52fc360e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_125.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_126.plan
index 04ec0aa0b8..c589dc7e5a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_126.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_127.plan
index 31a658c180..55d6e98c50 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_127.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And Exist(item.b) And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And Exist(item.b) And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_128.plan
index 837247757b..45dc5014a7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_128.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_129.plan
index 56871288c9..a241c3e69e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_129.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_13.plan
index e4a3d3fc02..14fba6947a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_13.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_130.plan
index d464a19201..129936fa82 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_130.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_131.plan
index 0912203b6f..afd2c37047 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_131.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_132.plan
index 707462999e..08bbd34ffe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_132.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_133.plan
index 9880d70b2f..89a500a3b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_133.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_134.plan
index 790ca5f94f..5435f86a88 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_134.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_135.plan
index 628840539c..84825d31d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_135.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_136.plan
index fa40bdbec7..36ae7fc723 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_136.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.e \\u003E item.c Or item.e \\u003C item.d Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.e > item.c Or item.e < item.d Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_137.plan
index f274b9f292..425cf145a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_137.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_138.plan
index d2bfa75ff4..c7378c5a99 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_138.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_139.plan
index 2a777a01cd..898face471 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_139.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150 And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d < 110 Or item.d > 150 And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_14.plan
index 19958ff29c..56e7d54b78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_14.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_140.plan
index 1d2acc82f2..6ff9fa8ec4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_140.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_141.plan
index 103bd98eee..3ef262b527 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_141.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_142.plan
index 87898ca01b..68425a7d1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_142.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.e \\u003E item.a And item.e \\u003C item.b And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.e > item.a And item.e < item.b And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_143.plan
index 4e27350897..79afa1abdf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_143.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_144.plan
index ca11dc2119..0f2bd8db25 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_144.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_145.plan
index 1f0c66a34c..a4e954ec29 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_145.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_146.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_146.plan
index cd42a3b5db..bb5d017e3a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_146.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_146.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_147.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_147.plan
index c0106e379b..cc74536c7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_147.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_147.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_148.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_148.plan
index 04ec0aa0b8..c589dc7e5a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_148.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_148.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_149.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_149.plan
index e4fd378cdd..7cde8856ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_149.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_149.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_15.plan
index 6badb8e421..0735da126e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_15.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_150.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_150.plan
index dccddce7bd..85f3602be0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_150.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_150.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_151.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_151.plan
index c534cdbd24..7ce2cb774e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_151.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_151.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_152.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_152.plan
index acca47fff0..b105575f75 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_152.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_152.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_153.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_153.plan
index 1923acb492..fae54f58b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_153.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_153.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_154.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_154.plan
index d7830b4c90..867b9fee99 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_154.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_154.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_155.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_155.plan
index 0e168ac5b9..81af1c056d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_155.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_155.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_156.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_156.plan
index b33d088fae..35b94f0e6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_156.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_156.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_157.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_157.plan
index 0c8dd1a214..41004fcb2d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_157.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_157.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_158.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_158.plan
index c01771bc1f..cb88929640 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_158.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_158.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_16.plan
index 82065bfbdc..b25b27dfcd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_16.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_17.plan
index ed6476d323..66c9d96a32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_17.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_18.plan
index 808164a193..34d8ceeccc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_18.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_19.plan
index 785626b63a..1fc1fefdc2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_19.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_2.plan
index ee1650c339..617e599f17 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_2.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_20.plan
index 25275af3c1..1bce563409 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_20.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_21.plan
index e01133d9b8..56aabecc1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_21.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_22.plan
index 53d5d8b61c..d29158f50c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_22.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_23.plan
index 0f1c74521d..edd757c840 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_23.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_24.plan
index 79074c22aa..70fa681f78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_24.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_25.plan
index e6b4888528..8a88ebd76a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_25.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_26.plan
index cf5fb4b842..6da06ade89 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_26.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_27.plan
index f52e333456..dc1c82349a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_27.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.d > item.e And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_28.plan
index a40420864e..55fd42d25e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_28.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_29.plan
index be6dbe06bc..6710fc140a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_29.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.d \\u003E item.e And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.d > item.e And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_3.plan
index d30815d220..9dc26a6920 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_3.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_30.plan
index be7c79eddf..662343f68e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_30.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_31.plan
index f82b8d54e4..ae4601d9d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_31.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_32.plan
index 2fabe31296..659cc5d8ed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_32.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_33.plan
index 751bd42b70..fc1ad2b863 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_33.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_34.plan
index bc1104d17c..0760437ac1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_34.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a != 0 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a != 0 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_35.plan
index 8727f3867b..c84485e435 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_35.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_36.plan
index 83a9247b56..dcd68a7b39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_36.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_37.plan
index be7c79eddf..662343f68e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_37.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_38.plan
index dad078eef3..194ff7cbe9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_38.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_39.plan
index 1d911199fd..635b3c7464 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_39.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_4.plan
index d723fe439e..0931385169 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_4.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_40.plan
index e7d9ce028e..9a7071cb37 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_40.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_41.plan
index 8b65a34c54..3dbde418c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_41.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a != 0 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a != 0 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_42.plan
index 8e506010d8..c042772cf7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_42.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_43.plan
index e0b87287be..415fc6bafd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_43.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_44.plan
index 9afa3550c8..20f20e4680 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_44.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_45.plan
index 60c5bee357..54c7a47f68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_45.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_46.plan
index ce9de7a619..f8462c61ad 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_46.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_47.plan
index 1923acb492..fae54f58b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_47.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_48.plan
index cef0c08605..9136fad743 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_48.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_49.plan
index 508cad3e2a..0382b484ac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_49.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or Not Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or Not Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_5.plan
index 75db386119..fbac3ae34c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_5.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_50.plan
index e0e9198653..bd8418c0e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_50.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or Not Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or Not Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_51.plan
index 6f7ffb5c04..3ef5b4be17 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_51.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_52.plan
index 0092ebe6c0..945a193ed5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_52.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_53.plan
index 29cb33531c..2242cbd630 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_53.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_54.plan
index 12e771a4bb..1038b9b9b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_54.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_55.plan
index 894000208c..d3efffa2b4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_55.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_56.plan
index e852e7248e..1c698446f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_56.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_57.plan
index 53b138185c..715f2fd2b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_57.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_58.plan
index 60c7ea8780..e5b7475260 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_58.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_59.plan
index 1e36a6d571..6d89bcb1d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_59.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_6.plan
index c4bf8691f0..546e1e42c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_6.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_60.plan
index 2eeaeca1e2..d6cb11367f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_60.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_61.plan
index cd4c22b8c0..99b6761744 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_61.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_62.plan
index 9f5d7a6b06..32d34aa612 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_62.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_63.plan
index 50f9ceab65..331b501bd6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_63.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_64.plan
index 6fa43c1559..c9cce02a2e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_64.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_65.plan
index da3194021c..4fe1f368ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_65.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_66.plan
index 6f805ee432..d006805f9e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_66.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_67.plan
index cb2f99f31e..7545b3432d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_67.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_68.plan
index 69b924aefa..ed4084bff1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_68.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_69.plan
index d4a8313241..55711d9dab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_69.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_7.plan
index 0032b607d6..14f4f6fbc3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_7.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_70.plan
index 0ae3f1a34f..00c35abf2c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_70.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_71.plan
index 8122da8a4d..97f9af21d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_71.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_72.plan
index e2d4ff69b5..885fedc7f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_72.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_73.plan
index ab23e195db..5dc1237e2d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_73.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_74.plan
index 04f3b9363e..f4515f0cdf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_74.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_75.plan
index 9a3dee022e..67b5e20864 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_75.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_76.plan
index 98f390412a..ee45905a71 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_76.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_77.plan
index cc0259425e..68aa2e59a8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_77.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_78.plan
index 0b678f588c..ee805337c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_78.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_79.plan
index cf7d781eca..ffecb4dc9d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_79.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_8.plan
index 89efa04584..a350c79f6b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_8.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_80.plan
index 39e2ea8e96..0e671b75f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_80.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_81.plan
index 9e27cd197f..f80f10aab3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_81.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_82.plan
index 6fdb879a4f..b9e775dd34 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_82.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_83.plan
index 1d2acc82f2..6ff9fa8ec4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_83.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_84.plan
index 5daf7a7d81..fb1af9931e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_84.plan
@@ -1 +1,109 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_85.plan
index 0b69866021..82871dc4ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_85.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_86.plan
index 0e77b5d6d0..b12a95b008 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_86.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_87.plan
index 40032f122c..66319b6192 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_87.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_88.plan
index 8fc7767bc2..98336df632 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_88.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_89.plan
index baaea96720..8c9b781bd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_89.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_9.plan
index 7c5b8a6794..fcbbb54862 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_9.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_90.plan
index faf117c4c1..cf2961b03a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_90.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_91.plan
index b1f0bea6fe..f6a78d8382 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_91.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_92.plan
index d56caaf405..e7dfad8f91 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_92.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_93.plan
index 79a3c23e50..2e2070122b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_93.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_94.plan
index fe591c3e36..d5f6d200c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_94.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_95.plan
index 02ab54cbe8..cfce48c69d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_95.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.a != 0 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.a != 0 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_96.plan
index 07b4eb9c7e..12851d6552 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_96.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_97.plan
index 3f67b52f0e..e1c61d2d85 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_97.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_98.plan
index bdcae9d9b6..63a6bad0d1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_98.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_99.plan
index e397b390e9..e4856179d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-2.test_/query_99.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_1.plan
index baa26decc7..a4843e39c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_1.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_10.plan
index 36a9037f64..7367922507 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_10.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_100.plan
index 88554c1079..1d417f6683 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_100.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_101.plan
index 780aa3dc6c..58d3d6c793 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_101.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_102.plan
index b04aecb965..9ab001736e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_102.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_103.plan
index 677f080178..9d25c302d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_103.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_104.plan
index 2303de49dd..e20c15f1a0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_104.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_105.plan
index 4d0ffb2c08..51b6c9e7d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_105.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_106.plan
index 16e77a067c..65057430b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_106.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_107.plan
index affbccec55..e13db88b05 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_107.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_108.plan
index ee34199d68..5a3d422985 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_108.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.a \\u003E item.b And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.a > item.b And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_109.plan
index c25654912d..fe9c4e9683 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_109.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_11.plan
index e7acbf14a2..6d14e5b2f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_11.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_110.plan
index e9300de7df..e7b58430d1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_110.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_111.plan
index 0865617f2d..7d70d27035 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_111.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_112.plan
index d9e3f6ef83..1a4f30bfcd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_112.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_113.plan
index 145ec76cee..abfbed56d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_113.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_114.plan
index 2c9ac600c1..17f8a4654f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_114.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_115.plan
index 91dbd41b9f..2923c562d1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_115.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_116.plan
index bdbefc3b11..b0ed1f2654 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_116.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_117.plan
index 564ce05d3b..e18795dfc9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_117.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_118.plan
index 900f2e1900..f39dad1244 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_118.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_119.plan
index 1320cf5781..081b187064 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_119.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And Exist(item.b) And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And Exist(item.b) And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_12.plan
index 9963c38d69..50acde6c36 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_12.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_120.plan
index df3f92767b..713a7d9fe7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_120.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_121.plan
index 80c32cb99c..df9db17e3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_121.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_122.plan
index 0dea5a6a43..868e18eeb1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_122.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_123.plan
index ffaa5ea3fe..7fd3565ded 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_123.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_124.plan
index ce0cbb71bc..d97787199a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_124.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_125.plan
index f2a3d1c064..465daf2f1e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_125.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_126.plan
index 96b024f28c..e195a18495 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_126.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_127.plan
index 7f04b37b78..86706eaa3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_127.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_128.plan
index 276319eb6a..1ce91d9255 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_128.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_129.plan
index 183baddafd..e0ee4eac65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_129.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_13.plan
index ec7473bca3..3a32363a39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_13.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_130.plan
index 93669a2a22..a3b19db209 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_130.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_131.plan
index 2cfe565ea2..e26746d5b7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_131.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_132.plan
index cc0d857ac3..5c4342cf9d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_132.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_133.plan
index f305d67535..a654a9a12a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_133.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_134.plan
index 2065d0faab..694a49d362 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_134.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_135.plan
index 995f8af641..b9d545a682 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_135.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_136.plan
index ed09e8a056..072d223c1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_136.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_137.plan
index 86ef4c9b96..1826b12e79 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_137.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_138.plan
index 84b5dfa7e6..a2d960ac96 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_138.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_139.plan
index f963d84eef..0901d97b65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_139.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_14.plan
index c53a632853..6d4fbe70d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_14.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_140.plan
index 75bc15a21a..08099d7c72 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_140.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or Not Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or Not Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_141.plan
index cd73625745..3876a427a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_141.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_142.plan
index 5b42542bf5..4eaebe753b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_142.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_143.plan
index 37c94bcb6e..b222bce352 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_143.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_144.plan
index e2b328af70..114ea0f19b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_144.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_145.plan
index ae8f3d532a..d966ae695b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_145.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_146.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_146.plan
index 88554c1079..1d417f6683 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_146.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_146.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_147.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_147.plan
index 5824cf9d70..cb49ef8bf5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_147.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_147.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_15.plan
index bcfab97f3b..ae99ac0a6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_15.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_16.plan
index 707ab4f30f..469535ea98 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_16.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_17.plan
index 063387b716..252ab263c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_17.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_18.plan
index e30b97d881..16511f565e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_18.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_19.plan
index f0ad36ab11..417052d224 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_19.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or Not Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or Not Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_2.plan
index 008cfec269..0dd38f9c98 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_2.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_20.plan
index e54705b09c..e78c286b47 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_20.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_21.plan
index 74253a82c0..a8e8cdda57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_21.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_22.plan
index dda95bb983..4998b0d9a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_22.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_23.plan
index 1ed1dc0e61..c320f04375 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_23.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_24.plan
index c4c91f3bb2..10a720e9dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_24.plan
@@ -1 +1,196 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_25.plan
index 97e203b2d4..4bf36911d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_25.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_26.plan
index 1c4eccb796..c3031450ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_26.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_27.plan
index bb5af9a4f2..f96769de1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_27.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_28.plan
index c2244846cb..307365adb6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_28.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_29.plan
index ce0fa52645..b7c320cd2e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_29.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_3.plan
index ad47cd34f8..a7b9381614 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_3.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_30.plan
index 1217881656..19e38ee4ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_30.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_31.plan
index 571462dfa8..fcd9aa9e94 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_31.plan
@@ -1 +1,210 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_32.plan
index 2704ebec3f..83e9870e2b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_32.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_33.plan
index 1a928bf958..23ea2cda87 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_33.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_34.plan
index dfd1f4ea3d..c0802b9014 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_34.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_35.plan
index ad47cd34f8..a7b9381614 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_35.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_36.plan
index 6bfef119a7..df7a87f0ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_36.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E item.d And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c > item.d And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_37.plan
index 10187362e7..83fb16cda3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_37.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_38.plan
index ae6a4627ab..0241c1d00a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_38.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_39.plan
index 41947ca189..82d998563d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_39.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_4.plan
index 7d9342f767..62298d42c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_4.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_40.plan
index 99f7739ca7..b8436923e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_40.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_41.plan
index ddac5f8a74..b53f68fc49 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_41.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_42.plan
index 554be5520e..a0d81580b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_42.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_43.plan
index 9255744c62..19995ed68b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_43.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_44.plan
index 5fa36f978b..937059a9c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_44.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_45.plan
index 6a76439a47..145a412362 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_45.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_46.plan
index 7ba0d46c5a..fa6d53c2a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_46.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_47.plan
index 723eeebc72..8313e20789 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_47.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_48.plan
index f600e62731..193b133979 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_48.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_49.plan
index 0a141a15d0..4cd094e86f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_49.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_5.plan
index 017a46424d..21042eb4cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_5.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_50.plan
index 076593534a..1863147644 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_50.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_51.plan
index 35f9c2a502..0d94964dd0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_51.plan
@@ -1 +1,189 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_52.plan
index ea4946099c..f36a40159b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_52.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_53.plan
index fe074b6c40..1376c6f163 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_53.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_54.plan
index 8d5c684075..82709fa785 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_54.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_55.plan
index d7df03f9de..0f50c40dc2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_55.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_56.plan
index 8ff0aa93a2..bb5cfd0e25 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_56.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_57.plan
index 1195cbe6aa..4c7a9c8847 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_57.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_58.plan
index dec849bbb5..96dba18772 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_58.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_59.plan
index fb943025b7..4449670bcd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_59.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_6.plan
index 81c7d867f1..b58842d5a8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_6.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_60.plan
index 9a726eb68a..8e10ca780a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_60.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_61.plan
index 085d8028ce..e15c502783 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_61.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_62.plan
index f63ab4794e..d64f424754 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_62.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_63.plan
index 9ee39de733..04315415c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_63.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_64.plan
index ce38d605eb..799713cf5f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_64.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_65.plan
index 32ba133aa7..cc77826e68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_65.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_66.plan
index e3d164602c..627acd29f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_66.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_67.plan
index b871f1497b..6a711fac10 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_67.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_68.plan
index 77f64b73dd..9a3e2e5344 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_68.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_69.plan
index 52033ad66c..6d04009fd2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_69.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_7.plan
index d316c55997..7c371c6a06 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_7.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_70.plan
index f9ccd894a6..8464509756 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_70.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_71.plan
index 56739299b0..54e6840b8f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_71.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_72.plan
index 58e32113f2..a69d0d7638 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_72.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_73.plan
index d038c66eab..30e14c3186 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_73.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_74.plan
index e28e8e3c1b..51df2817ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_74.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.d \\u003C 110 Or item.d \\u003E 150 And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.d < 110 Or item.d > 150 And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_75.plan
index 183baddafd..e0ee4eac65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_75.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_76.plan
index 158bf115a1..bd35fd444b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_76.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_77.plan
index 5b42542bf5..4eaebe753b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_77.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_78.plan
index 56eb26fa95..69eda482f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_78.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_79.plan
index b4a60950dd..6c3a9f58a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_79.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_8.plan
index 384f906126..577c838954 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_8.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_80.plan
index 12ebe8d454..577b9fb32c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_80.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_81.plan
index f346381d31..ff9aaea511 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_81.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_82.plan
index a946e6fb8c..d878318c55 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_82.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_83.plan
index 279362ef07..3273e0af45 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_83.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_84.plan
index 36c19711fc..010986fc51 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_84.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_85.plan
index 500aea3d58..496854fdd9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_85.plan
@@ -1 +1,196 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_86.plan
index 453abe04f3..07219dd2a9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_86.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_87.plan
index b09c1e706f..a9f090d865 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_87.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_88.plan
index cdd5f29148..0315fdac6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_88.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_89.plan
index 5c1a4da4f3..d3d33d6504 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_89.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_9.plan
index f721bf6c0a..1ea8f328e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_9.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_90.plan
index 12ebe8d454..577b9fb32c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_90.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_91.plan
index 5e5d292084..624a291a9b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_91.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_92.plan
index 736eb6fe66..5354de228f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_92.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_93.plan
index adde9ab137..491ce1c7a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_93.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_94.plan
index ad47cd34f8..a7b9381614 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_94.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_95.plan
index 9c4cb44be6..db2d95ff1c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_95.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_96.plan
index 1919ff43c4..a1e5705033 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_96.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_97.plan
index 2516bedeb1..227e8f82a7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_97.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_98.plan
index df3f92767b..713a7d9fe7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_98.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_99.plan
index 0dea5a6a43..868e18eeb1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-3.test_/query_99.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_1.plan
index f2cd407857..9af485bf62 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_1.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_10.plan
index 43d55e516b..29eb64fa45 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_10.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_100.plan
index 44e03cc08f..830f2d7cf4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_100.plan
@@ -1 +1,88 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Scan\",\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableRangesScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableRangesScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRangesExpectedSize\":\"1\",\n \"ReadRangesKeys\":\n [\n \"a\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableRangesScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableRangesScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRangesExpectedSize": "1",
+ "ReadRangesKeys": [
+ "a"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "type": "Scan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_101.plan
index b7178d3191..3c20f0e35c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_101.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_102.plan
index dc9a9abb4c..5afa3f25f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_102.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_103.plan
index 98266c8fcd..02c1c55b2b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_103.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_104.plan
index 34365d0e50..88b3d5798e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_104.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_105.plan
index b6dfada6b6..bbac90f330 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_105.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_106.plan
index 90acf90ea5..7a49c859b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_106.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_107.plan
index 45da4c2f7c..0c7be25df3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_107.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_108.plan
index c097f74daf..933c32c1cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_108.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_109.plan
index 71dd1ac3be..5e12fb0e65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_109.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_11.plan
index f24d21d0a1..d5538ea1cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_11.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_110.plan
index 64d586059e..3c31dc98b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_110.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_111.plan
index a3457abfc9..7b4ebb0f4e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_111.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_112.plan
index 83bb36bb63..c59076d043 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_112.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_113.plan
index ecc18c2e80..f63c925e41 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_113.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_114.plan
index 18f8c67270..3f20fd062a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_114.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or Not Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or Not Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_115.plan
index 8631942151..56b6d2ebbf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_115.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_116.plan
index 2de8db68d2..da9dbaa42b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_116.plan
@@ -1 +1,108 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_117.plan
index 7b073721ad..e10cc9dbb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_117.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_118.plan
index bb57bccbf8..36f9c3e466 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_118.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_119.plan
index 89257f8bad..452991ccd2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_119.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_12.plan
index a08226989a..330b8d2725 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_12.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_120.plan
index 9e487d521b..f1500f6962 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_120.plan
@@ -1 +1,198 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_121.plan
index 3fc231d2c3..f96dfc6f73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_121.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_122.plan
index 3fa5a733c6..d970570a07 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_122.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_123.plan
index 80321bc5d1..1996a68437 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_123.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_124.plan
index 59de651289..d78b40b533 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_124.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_125.plan
index 16c35391f1..6ec185561e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_125.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_126.plan
index fa742ed08e..d4163d1a95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_126.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_127.plan
index 59de651289..d78b40b533 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_127.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_128.plan
index 3cd1d7ab58..3be81372e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_128.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_129.plan
index d46de042e5..cf39570729 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_129.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_13.plan
index d26be8c2e5..d186f0c107 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_13.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_130.plan
index eda6d82bdc..883277100d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_130.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_131.plan
index cc0ac3d960..9a72d64f4e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_131.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_132.plan
index 6bd6f21711..a1c7112d1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_132.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And Exist(item.b)\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And Exist(item.b)"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_133.plan
index d69e4d6731..736c1a5e1e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_133.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_134.plan
index 79dbd115e7..c3b22459ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_134.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_135.plan
index a71a7b9625..ee6b702ad2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_135.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_14.plan
index 502d998161..b9ec7195a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_14.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_15.plan
index 7d4e48012a..b9ed651dff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_15.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_16.plan
index 6ca5e10bb3..3cd8783d02 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_16.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_17.plan
index b871aad638..850a636eda 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_17.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_18.plan
index c201f868a6..65e21df877 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_18.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_19.plan
index 4712991ff3..e1db1ad2a9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_19.plan
@@ -1 +1,213 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_2.plan
index c4920ba19a..8840fb74b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_2.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_20.plan
index 54787a118a..6e053eef52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_20.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_21.plan
index 7c08a11216..67b06b59e2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_21.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a != 0\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a != 0"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_22.plan
index 22ffcd2a05..50d774ba97 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_22.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_23.plan
index 3da862fcc3..5efe7d6c65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_23.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_24.plan
index c32dfcca57..69a69a022d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_24.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_25.plan
index 9d01f7f890..3352aeb09c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_25.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_26.plan
index f4f33c1d7f..be3f64a14c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_26.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_27.plan
index 542b8deca7..7267c62860 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_27.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_28.plan
index c917e41930..27f6d5aba7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_28.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_29.plan
index 3cc12132ec..36e0bf40ed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_29.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_3.plan
index 61f0e9cd85..eceeaae82a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_3.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_30.plan
index 918c8dddcd..ea92d57d27 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_30.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_31.plan
index 4c9ae0b8ef..e79445685d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_31.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_32.plan
index fc9da4c448..c45f5d2b7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_32.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_33.plan
index 7ac8a75c80..3f83852a3c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_33.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_34.plan
index 6890032587..b5e67ff2f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_34.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_35.plan
index d1c252f9c5..017ae46466 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_35.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_36.plan
index 2e2ac0c5f1..6d2b54f144 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_36.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_37.plan
index aa35dd3e33..aa479d2946 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_37.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_38.plan
index 6fbdedb87b..675dcb110b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_38.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_39.plan
index 1800311461..238f4d5d35 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_39.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_4.plan
index 49bd0db98b..9f1dbd9fe7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_4.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_40.plan
index 90f0d15a15..6524ee8b59 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_40.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_41.plan
index f10124f69c..e68b066c43 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_41.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_42.plan
index 8945f2ac18..93a1be08dd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_42.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_43.plan
index e43c78ede1..631b3c5b17 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_43.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_44.plan
index 976fadca43..6becc8fa04 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_44.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_45.plan
index 83ce348064..3ba2e3f6d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_45.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_46.plan
index 31a9ab40a5..9dc51101a1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_46.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_47.plan
index e54660eef0..df45360aa9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_47.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_48.plan
index 3d1de797c7..469bcd349f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_48.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_49.plan
index 891f3e2011..ac872491e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_49.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_5.plan
index 731993ae56..cb0fe8bdbd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_5.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_50.plan
index 004f4bd5b1..0dd6b0ce37 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_50.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_51.plan
index 5b3e15d6ca..bd8a647e3b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_51.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.a And item.e < item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_52.plan
index fe76286a80..c28bdbf29b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_52.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_53.plan
index 8c1e0078b8..ff9bcb5d95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_53.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_54.plan
index 493760c3c7..930c085590 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_54.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_55.plan
index a0afc56028..2a426db13d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_55.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_56.plan
index 427d3616f4..3e715e3c62 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_56.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Not Or Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "Not Or Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_57.plan
index 53a97b83c6..cd724cc00d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_57.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_58.plan
index bb71f511ea..6ff9619755 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_58.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_59.plan
index e5ba8737bd..e7526f2d2d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_59.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_6.plan
index 1e8bad0e88..d9bd0a612a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_6.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_60.plan
index 0fe76ac632..15d5b3a669 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_60.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_61.plan
index 82134e558d..3835b16de9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_61.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_62.plan
index 67ae9ca6a4..e243598562 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_62.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_63.plan
index 2ebed9f07d..76024d110d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_63.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_64.plan
index abf032fb6e..2cff09fbab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_64.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_65.plan
index 2ee380b99f..dc08a80b78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_65.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_66.plan
index e7953db27a..11482165e5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_66.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_67.plan
index 40e4cab47e..8582c9ca63 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_67.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_68.plan
index 7700642649..e7695f2f41 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_68.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_69.plan
index 1a5084cb79..d1d483cb89 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_69.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_7.plan
index c990df5ca1..368925d3cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_7.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_70.plan
index 5f5312e7d9..616fb7d5e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_70.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b) And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b) And item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_71.plan
index bd8ec27839..87135a2b28 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_71.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_72.plan
index 5e0afac75a..63a7aca384 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_72.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_73.plan
index 962d39e30a..33bc72833c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_73.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_74.plan
index 1c7b5f6d2e..804d8c9917 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_74.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_75.plan
index cc423ed038..9f2088d057 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_75.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_76.plan
index cdd731922c..43d6b24513 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_76.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_77.plan
index bf98299159..0a1246f3ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_77.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_78.plan
index e3a3024810..0504303c77 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_78.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_79.plan
index d9b0cee7dd..54be255790 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_79.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c > item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_8.plan
index ebfea4fa5a..d496733fdd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_8.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_80.plan
index a14017af6f..f1986e8c76 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_80.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_81.plan
index af84efaf28..0ac8f4197d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_81.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_82.plan
index fe76286a80..c28bdbf29b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_82.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_83.plan
index f507878027..ff9840172c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_83.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_84.plan
index d256d020de..e7c2058659 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_84.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_85.plan
index a2f8be0f59..4fdd12015c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_85.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_86.plan
index 957fda698a..b5a9c107b7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_86.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_87.plan
index 6945afa7f5..60589e7a3b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_87.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (0)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (0)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TablePointLookup",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (0)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (0)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_88.plan
index 1b0b9a42f3..7249a6447d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_88.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_89.plan
index 2aac398c1e..d1160eb4ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_89.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_9.plan
index e12c367e50..b22ab88051 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_9.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_90.plan
index 9ac0b26acf..ffdd04f808 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_90.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_91.plan
index e3bfc01a35..8752619b01 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_91.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_92.plan
index 3a4b670a35..6ef1a6fe60 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_92.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_93.plan
index a6035c0a20..34a2e3f2d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_93.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_94.plan
index 80321bc5d1..1996a68437 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_94.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_95.plan
index aaf1a19091..647b82b46d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_95.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_96.plan
index e3c7d6d8da..cabf19264f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_96.plan
@@ -1 +1,195 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n },\n {\n \"type\":\"Lookup\",\n \"lookup_by\":\n [\n \"a (n\\/a)\"\n ],\n \"scan_by\":\n [\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate-TablePointLookup\",\n \"Operators\":\n [\n {\n \"Inputs\":\n [\n 1,\n 2\n ],\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TablePointLookup\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRange\":\n [\n \"a (n\\/a)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":6,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Stage\",\n \"PlanNodeId\":5\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n },\n {\n \"Node Type\":\"Precompute_0_1\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_1\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 11,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate-TablePointLookup",
+ "Operators": [
+ {
+ "Inputs": [
+ 1,
+ 2
+ ],
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TablePointLookup",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRange": [
+ "a (n/a)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 6,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Stage",
+ "PlanNodeId": 5
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ },
+ {
+ "Node Type": "Precompute_0_1",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_1"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "lookup_by": [
+ "a (n/a)"
+ ],
+ "scan_by": [
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "Lookup"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_97.plan
index b2aa3853ab..4f01d1f918 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_97.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_98.plan
index ed41bc2d0a..ad6ba83c92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_98.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_99.plan
index 74a1721f27..ac920147be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-4.test_/query_99.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_1.plan
index 17df0be6f2..0ad24a72c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_1.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_2.plan
index 900640afff..011386a8ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_2.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a != 0\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a != 0"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_3.plan
index cb7c5aa940..6aab8109eb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_3.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_4.plan
index 7b2b6aefae..3a847105d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_4.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a != 0 And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a != 0 And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_5.plan
index 0c4fa4c937..103cb00df2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_5.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And Exist(item.b)\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And Exist(item.b)"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_6.plan
index 83dce11f65..91bc82512f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_6.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a != 0 Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a != 0 Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_7.plan
index ab85335cfe..ede5739bdd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_7.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_8.plan
index f9e7425729..d66addf57d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_8.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_9.plan
index b635e990ac..13aa28ac1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select2-5.test_/query_9.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select2-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d Or Not\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select2-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select2-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d Or Not"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select2-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select2-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select2-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_1.plan
index d95dc837db..d9eed02781 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_1.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_10.plan
index 813bea9086..482fcf8044 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_10.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_100.plan
index 121c6a6160..f79d5a7943 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_100.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_101.plan
index 75669b5679..c01f6d1154 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_101.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_102.plan
index 67c3ab3a9f..87c564f4f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_102.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_103.plan
index 7cc0d382c1..62fa7b21c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_103.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_104.plan
index 7cc0d382c1..62fa7b21c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_104.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_105.plan
index e11507f919..5e8dd07096 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_105.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_106.plan
index 69b274ce18..966bd81f47 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_106.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_107.plan
index f256473bbb..86ce96eb76 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_107.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_108.plan
index 5a082acf82..3e663fb244 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_108.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_109.plan
index 28fb61d4c0..dbdec304d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_109.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_11.plan
index 29875cb414..8475ca3fb2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_11.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_110.plan
index 28fb61d4c0..dbdec304d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_110.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_111.plan
index b78b2e1ef6..3854224c50 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_111.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.b > item.c And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_112.plan
index b78b2e1ef6..3854224c50 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_112.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.b > item.c And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_113.plan
index 81ba3839da..b18b672180 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_113.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_114.plan
index 81ba3839da..b18b672180 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_114.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_115.plan
index e77a06cdc6..b126bdcc8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_115.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_116.plan
index e77a06cdc6..b126bdcc8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_116.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_117.plan
index c18414c7f4..2488b59838 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_117.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_118.plan
index c18414c7f4..2488b59838 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_118.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_119.plan
index bde1f7bb82..2864e9ab9b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_119.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_12.plan
index 87901b5bdc..01778f3fa7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_12.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_120.plan
index 7266d61dd8..be41c2fec5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_120.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_121.plan
index 3ff4469cd7..4cc68ba2fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_121.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_122.plan
index 8768e15065..0dd8eccb40 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_122.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_123.plan
index b155c671d8..d3b6b60f0e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_123.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_124.plan
index 37d5e6090a..0c9484aa35 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_124.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_125.plan
index abbacd5967..e1dde141d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_125.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_126.plan
index a9b47c72ed..11aec15561 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_126.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_127.plan
index 3d010bf217..2f37c0e501 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_127.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_128.plan
index 2d85efe094..30c9bf2798 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_128.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_129.plan
index f256473bbb..86ce96eb76 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_129.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_13.plan
index bc4eee9a24..b38c921f6f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_13.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_130.plan
index 8b4610f638..4b4bf23314 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_130.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_131.plan
index 5b17216826..4a22782cf4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_131.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_132.plan
index 5b17216826..4a22782cf4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_132.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_133.plan
index c8237898b1..8f3a725210 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_133.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_134.plan
index cd88d83942..a3132a7087 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_134.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_135.plan
index 905764ecbe..363e1c4e06 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_135.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_136.plan
index 4a59e2a976..4420d6d1e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_136.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_137.plan
index b4a568513e..9e200ec8ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_137.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_138.plan
index 8885f4b392..d829635ccc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_138.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_139.plan
index eb9df7d14b..f59ffcf229 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_139.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_14.plan
index acb89a5246..6cc66150be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_14.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_140.plan
index c2c1b8e071..292077ade7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_140.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_141.plan
index 69130552c0..95e8da4594 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_141.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_142.plan
index 6fe3fd2b76..198f4ab2c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_142.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_143.plan
index f12294d3da..4959c0f57e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_143.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_144.plan
index 73af53c8ff..d76cd9e12d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_144.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_145.plan
index 9b854915ab..8d68468280 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_145.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_146.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_146.plan
index 9b854915ab..8d68468280 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_146.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_146.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_147.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_147.plan
index 3dac292ee8..9170c72369 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_147.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_147.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.b > item.c And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_15.plan
index f32344ac65..895a9ea951 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_15.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_16.plan
index f32344ac65..895a9ea951 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_16.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_17.plan
index 71f4731ddb..7ffa06d347 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_17.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_18.plan
index db9ca3eec9..553a357ffd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_18.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_19.plan
index 62fcea0ab7..3bc4cea88c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_19.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_2.plan
index d95dc837db..d9eed02781 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_2.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_20.plan
index d15027bb11..a948ae45f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_20.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_21.plan
index 9b854915ab..8d68468280 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_21.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_22.plan
index 9b854915ab..8d68468280 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_22.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_23.plan
index b5f218a694..7833ce9268 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_23.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_24.plan
index b5f218a694..7833ce9268 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_24.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_25.plan
index 1d815fadf6..6e57aa4967 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_25.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_26.plan
index 1d815fadf6..6e57aa4967 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_26.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_27.plan
index a0b0f86767..a5ce542235 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_27.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_28.plan
index a0b0f86767..a5ce542235 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_28.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_29.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_29.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_3.plan
index b1eb1fb361..8ce73bc4aa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_3.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_30.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_30.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_31.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_31.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_32.plan
index c2a37aa414..d3c2505fd9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_32.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_33.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_33.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_34.plan
index c2a37aa414..d3c2505fd9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_34.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_35.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_35.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_36.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_36.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_37.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_37.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_38.plan
index 0a6abf8b69..7d236460b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_38.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_39.plan
index cf0b5ce730..3e45fcd056 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_39.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_4.plan
index affa4e488e..95a49a65fe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_4.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_40.plan
index 84d07a1cce..1a4a7151f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_40.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_41.plan
index 59b9a11fa2..0a53658951 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_41.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_42.plan
index 59b9a11fa2..0a53658951 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_42.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_43.plan
index f063931db5..ba80bb89ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_43.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_44.plan
index f063931db5..ba80bb89ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_44.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_45.plan
index 1600bf74f0..294cfd1205 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_45.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_46.plan
index 2cda1bab90..a0d6efb282 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_46.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_47.plan
index f746d9fd5b..051174f408 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_47.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_48.plan
index 611d0f15a3..f22f4d5ca3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_48.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_49.plan
index aaf0c8f02f..91af5cd17b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_49.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_5.plan
index 726ae4cd10..118cfe0cae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_5.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_50.plan
index 38ff6ecf5c..c9b2f72349 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_50.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_51.plan
index cbc3a4136d..c94f04a79f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_51.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_52.plan
index d62c68fd6b..12b12ac857 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_52.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_53.plan
index 41cdef8e2a..1efc0d79e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_53.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_54.plan
index 41cdef8e2a..1efc0d79e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_54.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_55.plan
index 6fb276eaa3..0b849131a8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_55.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_56.plan
index c825311183..3ee72c0f98 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_56.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_57.plan
index 81f86a40a5..2a58334f1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_57.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_58.plan
index 81f86a40a5..2a58334f1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_58.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_59.plan
index 5fa733efe7..44d5b071f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_59.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_6.plan
index 428316f147..abef441b16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_6.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_60.plan
index 1bf14b6264..7aea7271e2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_60.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_61.plan
index f41357065f..cd390b36b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_61.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_62.plan
index 82f0a89865..6db589795a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_62.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_63.plan
index d83369bd43..b5caa4dc3f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_63.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_64.plan
index 9b30b211ea..5871d92cb0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_64.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_65.plan
index d5aff437e9..4e5930f45c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_65.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_66.plan
index b3d2e5f8dd..3d4e959ecd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_66.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_67.plan
index d387e3cc8b..7646261ea6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_67.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_68.plan
index f9a3171ac5..1ac0e8c241 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_68.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_69.plan
index adf7de3066..0a15fedcc3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_69.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_7.plan
index e8a020f01d..4d0c08cba0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_7.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_70.plan
index f9425033e0..15df52d5e3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_70.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_71.plan
index 747905ded7..371f2b7ac4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_71.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_72.plan
index adc6f6760e..41b1ef4bc2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_72.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_73.plan
index ec77824284..4726634c9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_73.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_74.plan
index bec81f00c6..eb695fca39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_74.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_75.plan
index 395aa96345..e1d4e5b5a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_75.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_76.plan
index 410b4e4376..01fddb3b8f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_76.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_77.plan
index ce675041bd..11eacda0f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_77.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_78.plan
index ce675041bd..11eacda0f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_78.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_79.plan
index 591b4d3434..3981c1e245 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_79.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_8.plan
index 0a6abf8b69..7d236460b9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_8.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_80.plan
index dd84426b15..b2f4259234 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_80.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_81.plan
index 33ab23d112..9acf13788a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_81.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_82.plan
index 33ab23d112..9acf13788a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_82.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_83.plan
index 1f97774b9f..baa4f8d124 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_83.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_84.plan
index 6819e850c6..3838ffaeff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_84.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_85.plan
index 4c86c85f77..6e50e73dd9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_85.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_86.plan
index bfb6bc8544..29ed86cdbd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_86.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_87.plan
index e3eedab44a..9142b342c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_87.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_88.plan
index e3eedab44a..9142b342c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_88.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_89.plan
index df239ff272..6e7dc88fef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_89.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_9.plan
index 254e96c007..41ab7fb966 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_9.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_90.plan
index df239ff272..6e7dc88fef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_90.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_91.plan
index dc52f4e209..14aa2c7df4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_91.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_92.plan
index 47870f86a5..9177ca1d1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_92.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_93.plan
index 63079135bd..35ee428ac4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_93.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_94.plan
index f9e7c35f9c..793908a793 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_94.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_95.plan
index 14a04bc659..a9656ba849 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_95.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_96.plan
index dff6878dc7..19d5339832 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_96.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_97.plan
index e523580f94..60e36c7210 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_97.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_98.plan
index ccc915ab7c..13afa3e762 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_98.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_99.plan
index dd1ffd5a84..7404127920 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-1.test_/query_99.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-1.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-1.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-1.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-1.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-1.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-1.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_1.plan
index 62f61a47f1..4736bf6b6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_1.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_10.plan
index 6978aab522..d023df50e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_10.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_100.plan
index 4a9363c9f3..0f9836713c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_100.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_101.plan
index 64af49d8fc..3161f25752 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_101.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_102.plan
index 125fcf3eeb..f139f26a81 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_102.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_103.plan
index 5920ce6321..3702ba1fb9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_103.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_104.plan
index a775eef02c..2903bd81e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_104.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_105.plan
index 535ea1e1de..175e6591c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_105.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_106.plan
index 04d68b359e..d7981fc7d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_106.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_107.plan
index 5019706300..f9f26fe673 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_107.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_108.plan
index 6a70b10024..8ad90dd355 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_108.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_109.plan
index ce5445d779..57d8cf6e5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_109.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_11.plan
index ab77d56872..603283e6fe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_11.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_110.plan
index 6f002a0665..d31b0e53f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_110.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_111.plan
index 8d6ef69437..7e04b8a495 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_111.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_112.plan
index 8d6ef69437..7e04b8a495 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_112.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_113.plan
index b9ca55e52f..bbdb4540a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_113.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_114.plan
index b9ca55e52f..bbdb4540a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_114.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_115.plan
index 6185aac722..cb8acba843 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_115.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_116.plan
index f2fc7418a6..4dd9a15bdf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_116.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_117.plan
index c332062f3e..ccfb3323f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_117.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_118.plan
index c332062f3e..ccfb3323f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_118.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_119.plan
index 523f96128e..4394a9bdc3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_119.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_12.plan
index 7951efa999..57a417b059 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_12.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_120.plan
index 523f96128e..4394a9bdc3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_120.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_121.plan
index e915b6979a..ac6625e731 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_121.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_122.plan
index e915b6979a..ac6625e731 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_122.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_123.plan
index 5e07f76e12..9239f1d6ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_123.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_124.plan
index 8459c27672..2c3b821c52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_124.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_125.plan
index 0ab40e0dbd..40391cf379 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_125.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_126.plan
index d95ba899cb..28e7c12a36 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_126.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_127.plan
index 56987cab8c..5da3735431 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_127.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_128.plan
index 56987cab8c..5da3735431 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_128.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_129.plan
index 47e7fa6a68..c8635be7da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_129.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_13.plan
index f3f0224438..d675eb6ef4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_13.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_130.plan
index 87ef5e2bc8..a8e1b34bb1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_130.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_131.plan
index 0345a53eb3..72db86942e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_131.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_132.plan
index 23410cb6e9..b1b8db177a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_132.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_14.plan
index ce0e0cc8a5..0c1d636969 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_14.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_15.plan
index 8b9340d327..91b70a2d02 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_15.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_16.plan
index 8b9340d327..91b70a2d02 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_16.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_17.plan
index 5204b23333..7fbabb12c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_17.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_18.plan
index 5204b23333..7fbabb12c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_18.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_19.plan
index aa229f734e..39d99ea902 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_19.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_2.plan
index 7d6073ef4b..620a3a2758 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_2.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_20.plan
index aa229f734e..39d99ea902 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_20.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_21.plan
index d9bccf5951..1e65b953ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_21.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_22.plan
index ea68f68a96..2c3a3a9a1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_22.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_23.plan
index 009c3f2663..562bf0e6f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_23.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_24.plan
index 8749bcb236..ad51409831 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_24.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_25.plan
index 1f354d540a..c90de2050c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_25.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_26.plan
index 14f7818c80..fdf288ad03 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_26.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_27.plan
index 95960ed83f..1225226faa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_27.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_28.plan
index 95960ed83f..1225226faa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_28.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_29.plan
index f0232fd82e..56a00b0378 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_29.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_3.plan
index b7fffa3793..864c72fefe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_3.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_30.plan
index 0b27692ae3..3525398548 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_30.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_31.plan
index ae7a7fa601..b90ee06b0d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_31.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_32.plan
index 14fa5b1f7b..825a7ffa5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_32.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_33.plan
index 674e6df90e..224533a174 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_33.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_34.plan
index 674e6df90e..224533a174 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_34.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_35.plan
index ca414ff319..a3258596db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_35.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_36.plan
index ca414ff319..a3258596db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_36.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_37.plan
index 3bb2a8c579..52f0655265 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_37.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_38.plan
index f3f27daedd..d4b63576c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_38.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_39.plan
index d9bccf5951..1e65b953ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_39.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_4.plan
index 15e2ab8a42..8443a061c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_4.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_40.plan
index 1927727175..ae5f6fc00e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_40.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_41.plan
index 332def3000..2e0c8e7d9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_41.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_42.plan
index c00d4b6c90..f999554d73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_42.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_43.plan
index 9ea171988a..8b0c40f15d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_43.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_44.plan
index 16e09f94bf..e141dd3e18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_44.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_45.plan
index 29ade22ec1..36da84542c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_45.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_46.plan
index 29ade22ec1..36da84542c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_46.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_47.plan
index 922a5f3813..5e6bbfedb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_47.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_48.plan
index 922a5f3813..5e6bbfedb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_48.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_49.plan
index 44b278aae8..a94b55dbd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_49.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_5.plan
index dc4c5c7e00..16c4c12440 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_5.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_50.plan
index 44b278aae8..a94b55dbd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_50.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_51.plan
index 3221733a27..a56254faa0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_51.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_52.plan
index 3221733a27..a56254faa0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_52.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_53.plan
index 16b5b95a52..ccee517430 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_53.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_54.plan
index 16b5b95a52..ccee517430 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_54.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_55.plan
index 2c96be879b..aea80fd707 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_55.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_56.plan
index 039ff076fd..069351a6c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_56.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_57.plan
index e10e4c79ba..72dc3bbb92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_57.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_58.plan
index 18df77c1b0..3f96317e57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_58.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_59.plan
index 1681f7a819..639e17d3b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_59.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_6.plan
index c509a06162..7ac95ad808 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_6.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_60.plan
index 36ad8db3e9..755e975aa1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_60.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_61.plan
index 84b9311398..b2c55a44fe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_61.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_62.plan
index a54853944c..af0a04b376 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_62.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_63.plan
index 44b278aae8..a94b55dbd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_63.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_64.plan
index 44b278aae8..a94b55dbd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_64.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_65.plan
index 1a4ff050d2..5cdd735a68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_65.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_66.plan
index 946a10fc44..68ffccaaa8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_66.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_67.plan
index c972a4c90f..c535ff95eb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_67.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_68.plan
index 02b3cd7ccb..90d3beed0d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_68.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_69.plan
index b6ab0ae6a3..87ec5b0fce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_69.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_7.plan
index 620c15a534..26a2b90c5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_7.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_70.plan
index 441250570a..2163b56d9d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_70.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_71.plan
index 511e2d8c18..a777533931 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_71.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_72.plan
index 9eed3cc07d..09589035da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_72.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_73.plan
index 645b35dedf..bda0c543aa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_73.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_74.plan
index 2c9a4a16d5..91e6043873 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_74.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_75.plan
index 41465921fd..060e538f73 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_75.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_76.plan
index 19b4e60d8a..7bdcb7b914 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_76.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_77.plan
index 6185aac722..cb8acba843 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_77.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_78.plan
index 123d5193d9..6e37b2b237 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_78.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_79.plan
index 62ac23821d..7f4d556688 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_79.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_8.plan
index d7fe676aa0..e12aabec23 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_8.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_80.plan
index 62ac23821d..7f4d556688 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_80.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_81.plan
index dbb7a53380..2ccfbf4027 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_81.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_82.plan
index e9be45b91b..592828cdd2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_82.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_83.plan
index 9c86114bcd..2b2f410363 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_83.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_84.plan
index 323fe0c2e7..aad9bde8fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_84.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_85.plan
index e5cae4ccb4..851e9b9d93 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_85.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_86.plan
index e5cae4ccb4..851e9b9d93 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_86.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_87.plan
index 97b997aa71..07d45d0d0d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_87.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_88.plan
index 97b997aa71..07d45d0d0d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_88.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_89.plan
index 87147276e8..a0406156ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_89.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_9.plan
index e40e7178b2..2930cc2c13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_9.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_90.plan
index 87147276e8..a0406156ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_90.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_91.plan
index a09e3fb689..976ee0408b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_91.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_92.plan
index a09e3fb689..976ee0408b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_92.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_93.plan
index 7362d0f65f..ec562c152c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_93.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_94.plan
index 7e45c1d43b..fbe247a6d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_94.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_95.plan
index 0ab40e0dbd..40391cf379 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_95.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_96.plan
index 998bb00502..1dda1bf9b0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_96.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_97.plan
index 955140622e..d5a00b4794 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_97.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_98.plan
index b3fef2fe8b..ef82408a68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_98.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_99.plan
index c077637029..50eaeda358 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-10.test_/query_99.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-10.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-10.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-10.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-10.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-10.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-10.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_1.plan
index ef85bb7488..c896fb37f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_1.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_10.plan
index acf77b8ff5..4c2a2c1030 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_10.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_100.plan
index bd1dae601b..b104f8c2f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_100.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_101.plan
index d3c1385a7b..5b6f882ffc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_101.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_102.plan
index d3c1385a7b..5b6f882ffc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_102.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_103.plan
index 151ca4194b..ecede7e172 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_103.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_104.plan
index 151ca4194b..ecede7e172 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_104.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_105.plan
index ab3908eb8e..59108f07ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_105.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_106.plan
index ab3908eb8e..59108f07ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_106.plan
@@ -1 +1,216 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_11.plan
index dcb1886aab..b9f2662a79 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_11.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_12.plan
index 72a44b2cfb..688709a726 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_12.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_13.plan
index fb77bc6af3..12bad510ac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_13.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_14.plan
index fb77bc6af3..12bad510ac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_14.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_15.plan
index 557f777f3d..6a5a49dfa0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_15.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_16.plan
index ace43b675f..035ffbba5e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_16.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_17.plan
index 4c404cfc08..fb3dc75838 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_17.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_18.plan
index 0f89d6e1fc..1416d7004c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_18.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_19.plan
index 60b4eba080..147923f3bc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_19.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_2.plan
index e2c578db69..0712e541c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_2.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_20.plan
index 60b4eba080..147923f3bc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_20.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_21.plan
index c867fa955b..9cd5153eac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_21.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_22.plan
index c867fa955b..9cd5153eac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_22.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_23.plan
index 2f7da50a5a..90e4e652a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_23.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_24.plan
index 2f7da50a5a..90e4e652a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_24.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_25.plan
index 8d8d002566..0878a129c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_25.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_26.plan
index 8d8d002566..0878a129c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_26.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_27.plan
index 368dc593ed..d43eb9be16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_27.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_28.plan
index 368dc593ed..d43eb9be16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_28.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_29.plan
index 3d98e16632..bfb4282f40 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_29.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_3.plan
index 74407fa0da..0a85a7e290 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_3.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_30.plan
index 3d98e16632..bfb4282f40 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_30.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_31.plan
index 8bc138317a..9c9d7ac8db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_31.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_32.plan
index 8bc138317a..9c9d7ac8db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_32.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_33.plan
index fad9c08539..d498cd5dc9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_33.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_34.plan
index b52942e16a..eddd8fba4f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_34.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_35.plan
index fad9c08539..d498cd5dc9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_35.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_36.plan
index 6566441d30..535ec91355 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_36.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_37.plan
index fad9c08539..d498cd5dc9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_37.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_38.plan
index 272f032996..450d054245 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_38.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_39.plan
index eeae100474..e8d1a40b18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_39.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_4.plan
index e6e8d7bfe0..abb129883d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_4.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_40.plan
index eeae100474..e8d1a40b18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_40.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_41.plan
index c97d63a27e..c70a013505 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_41.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_42.plan
index c97d63a27e..c70a013505 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_42.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_43.plan
index decd733424..3015ae4614 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_43.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_44.plan
index 1d598e2f30..f5c23baa13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_44.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_45.plan
index cff38373c7..1b95b8acc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_45.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_46.plan
index cff38373c7..1b95b8acc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_46.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_47.plan
index 9b27ac6700..117d79b655 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_47.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_48.plan
index 6181badad8..fba28b08c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_48.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_49.plan
index 0aade3f8f8..1d6025b426 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_49.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_5.plan
index dc0e569c8e..b11470730e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_5.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_50.plan
index 0096d35d36..dd886e8ac4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_50.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_51.plan
index ab523f38eb..e924b1f696 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_51.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_52.plan
index 2e462e8a2b..f56cc7a9d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_52.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_53.plan
index 138f74c7e6..21b69721e5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_53.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_54.plan
index fa88ddfe43..f9596f9d0b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_54.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_55.plan
index bb312a5b34..6b43424eae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_55.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_56.plan
index b7724d6a31..3ae8810ca1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_56.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_57.plan
index 3bf1b8f436..1dd100dfa6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_57.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_58.plan
index 927c849194..c89b8043f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_58.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_59.plan
index c97d63a27e..c70a013505 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_59.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_6.plan
index 802a017958..1722d37d8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_6.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_60.plan
index c97d63a27e..c70a013505 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_60.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_61.plan
index d686f1e27a..346365ea71 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_61.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_62.plan
index 2e5119112d..f365bc234d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_62.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_63.plan
index a60b242855..988dde59f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_63.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_64.plan
index 7e9f402505..d87fa3ceff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_64.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_65.plan
index 9a27bc1242..e354a34717 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_65.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_66.plan
index ce51269022..377dfc26f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_66.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_67.plan
index 06b400bd1f..cec459457c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_67.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_68.plan
index ca4223c1ab..fdbdaeb699 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_68.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_69.plan
index 8fe7997929..ff1f7dcd08 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_69.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_7.plan
index 90ce4ca5b1..311c57638c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_7.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_70.plan
index 478e09d980..5728dbc93d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_70.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_71.plan
index d720ff01d7..e9cb277b1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_71.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_72.plan
index d720ff01d7..e9cb277b1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_72.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_73.plan
index eeae100474..e8d1a40b18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_73.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_74.plan
index 44e2f03ef2..d1d24cca74 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_74.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_75.plan
index eeae100474..e8d1a40b18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_75.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_76.plan
index 44e2f03ef2..d1d24cca74 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_76.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_77.plan
index 9005283d75..90ea5fcf08 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_77.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_78.plan
index 6a98ae80ff..d12d431f44 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_78.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_79.plan
index dd3b5e49ef..5791bb3738 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_79.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_8.plan
index 9b80aba01b..2d4471e6b7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_8.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_80.plan
index bd76835a83..7a208efb15 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_80.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_81.plan
index 2e5aa0ba09..5b3097574c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_81.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_82.plan
index c05e9c05f9..a3dec2683d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_82.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_83.plan
index 0240946108..a72cb1d529 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_83.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_84.plan
index 90b8c7565a..ba74e6340e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_84.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_85.plan
index 8aea07c6b0..fec7802ff0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_85.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_86.plan
index 05bf316550..04f1497695 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_86.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_87.plan
index 6dd4550a77..bd49706c92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_87.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_88.plan
index 122436192e..16c7f96fce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_88.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_89.plan
index 301ea4e927..4892f0b72b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_89.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_9.plan
index dcb1886aab..b9f2662a79 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_9.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_90.plan
index 9797a298f8..b629b19b12 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_90.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_91.plan
index 77f9e07c3f..ea2431f4ec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_91.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_92.plan
index da14de522c..59d99b0f33 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_92.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_93.plan
index ed5d8c9571..778243ba95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_93.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_94.plan
index bd1dae601b..b104f8c2f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_94.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_95.plan
index ed5d8c9571..778243ba95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_95.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_96.plan
index 035dcb608b..6cc81abf1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_96.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_97.plan
index ed5d8c9571..778243ba95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_97.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_98.plan
index 035dcb608b..6cc81abf1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_98.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_99.plan
index ed5d8c9571..778243ba95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-11.test_/query_99.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-11.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-11.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-11.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-11.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-11.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-11.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_1.plan
index 84b594f108..650e264c30 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_1.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_10.plan
index 3e0872cdfc..001ea75b7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_10.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_100.plan
index 903bd8a2c7..d55bc2c456 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_100.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_101.plan
index 7fc2943004..3e5a75318f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_101.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_102.plan
index d0d732a85b..933ffddfdb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_102.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_103.plan
index ec66ac19ba..1a4f3c0bb6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_103.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_104.plan
index 213a820678..037885d018 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_104.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_105.plan
index 7c55351a4e..5d26c47a80 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_105.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_106.plan
index 446d7cb48b..fa89181c06 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_106.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_107.plan
index c87df33a1d..4a9a7484d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_107.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_108.plan
index d095de8f6d..1f2453f128 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_108.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_109.plan
index 96e18b5111..aba4630682 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_109.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_11.plan
index 85266b460c..2ecb72f7d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_11.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_110.plan
index bafc23e499..e9a1eb17ac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_110.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_111.plan
index 12d327ccbd..8ce6900acb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_111.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_112.plan
index e6706fa38c..039c8ec8cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_112.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_113.plan
index c73ac0dec3..a65e7b78c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_113.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_114.plan
index 6ab3b24780..2778388fdd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_114.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_115.plan
index 417ff50c25..490033f81b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_115.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_116.plan
index 417ff50c25..490033f81b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_116.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_117.plan
index d989db790c..3e08f8dc67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_117.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_118.plan
index d989db790c..3e08f8dc67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_118.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_119.plan
index bfae8b921c..a482bfd553 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_119.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_12.plan
index 443557c51a..f633fa80d1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_12.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_120.plan
index bfae8b921c..a482bfd553 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_120.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_121.plan
index 86c9c4161c..dbed3019e3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_121.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_122.plan
index 6a7ee51937..5c61595a34 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_122.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_123.plan
index 8da1fe57e0..c6279399df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_123.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_124.plan
index 11679147bb..89ba938d70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_124.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_125.plan
index d5644e62b7..511cd93b2c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_125.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_126.plan
index 34fa134db1..b786dbd350 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_126.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_127.plan
index 66c28951d5..14e9989ef0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_127.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_128.plan
index 66c28951d5..14e9989ef0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_128.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_129.plan
index 0a94292e78..6e2b07f8f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_129.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_13.plan
index 882f7bc50b..55218bb769 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_13.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_130.plan
index 0a94292e78..6e2b07f8f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_130.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_131.plan
index 9606c2044f..dd42dbdb1f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_131.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_132.plan
index d44900b725..3f5d66ec7b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_132.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_133.plan
index 9e7366b468..c74cbb5ad4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_133.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_134.plan
index 0990f7408d..d34f20a245 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_134.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_135.plan
index e6de0919b8..a84f773c42 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_135.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_136.plan
index 3bea2e870c..f650813e1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_136.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_137.plan
index 006d770f5b..6b0c6c388d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_137.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_138.plan
index 8d5713410c..b3923f96c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_138.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_139.plan
index 18c0dcab30..bb83ed376b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_139.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_14.plan
index 882f7bc50b..55218bb769 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_14.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_140.plan
index db591a54c6..dec9d18c1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_140.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_141.plan
index e6d134490e..a881b0a40f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_141.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_142.plan
index f6c1024cf9..f7dedbd9df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_142.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_143.plan
index 6e6a5f2348..81c84e1ec0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_143.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_144.plan
index 8b6eca54d6..2074fce76c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_144.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_145.plan
index 326b85fa41..d173b71a8e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_145.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_146.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_146.plan
index f37622c9d9..03b6e77447 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_146.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_146.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_147.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_147.plan
index 063147bbf6..aa4c366eb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_147.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_147.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_148.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_148.plan
index 063147bbf6..aa4c366eb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_148.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_148.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_149.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_149.plan
index 206d595f2e..f12be5fe6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_149.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_149.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_15.plan
index ee07902277..d4dc77f586 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_15.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_150.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_150.plan
index 206d595f2e..f12be5fe6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_150.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_150.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_151.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_151.plan
index bf15a4f3b6..dfba1ae101 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_151.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_151.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_152.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_152.plan
index a309bedd25..06ebf8867c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_152.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_152.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_153.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_153.plan
index 5a21488674..7fca14e9d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_153.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_153.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_16.plan
index 855857039d..df682b4ea3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_16.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_17.plan
index 27ce1947c7..8b1b3dc322 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_17.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_18.plan
index ac44884bba..6a5a74ab81 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_18.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_19.plan
index c73ac0dec3..a65e7b78c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_19.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_2.plan
index 84b594f108..650e264c30 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_2.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_20.plan
index 2ea7431470..4209b07a32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_20.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_21.plan
index c73ac0dec3..a65e7b78c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_21.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_22.plan
index 8221afd25f..65dd418e2e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_22.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_23.plan
index c73ac0dec3..a65e7b78c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_23.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_24.plan
index 0ef3475a3b..de32df63b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_24.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_25.plan
index c73ac0dec3..a65e7b78c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_25.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_26.plan
index c73ac0dec3..a65e7b78c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_26.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_27.plan
index 9d7c2da2d7..3a5558a613 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_27.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_28.plan
index 9d7c2da2d7..3a5558a613 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_28.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_29.plan
index 1998978ed7..08cd759dcb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_29.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_3.plan
index 0015b633b7..0b4dc14e37 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_3.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_30.plan
index 42bfd6bd6a..be3227df18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_30.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_31.plan
index 4d5dbc99ce..31d4573f6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_31.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_32.plan
index 16ffc513c2..e7b5b532fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_32.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_33.plan
index 780d35d566..7f512b2cec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_33.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_34.plan
index 780d35d566..7f512b2cec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_34.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_35.plan
index 5f86cccbdb..3a98062d54 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_35.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_36.plan
index b028ab16ad..87efcf08e4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_36.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_37.plan
index 850c074577..cd8407ea19 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_37.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_38.plan
index ca8e0eae2e..c7041a8ee6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_38.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_39.plan
index 5b603f4830..bc0a982a1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_39.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_4.plan
index 0015b633b7..0b4dc14e37 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_4.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_40.plan
index 5b603f4830..bc0a982a1a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_40.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_41.plan
index 7da04c3a18..35388e1249 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_41.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_42.plan
index 7da04c3a18..35388e1249 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_42.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_43.plan
index 29289b84d1..d9a06f4c9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_43.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_44.plan
index 29289b84d1..d9a06f4c9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_44.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_45.plan
index 2961b2be24..e9992e035c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_45.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_46.plan
index 2961b2be24..e9992e035c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_46.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_47.plan
index a919b69a28..105a5033a8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_47.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_48.plan
index 38cc690909..897f0f78d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_48.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_49.plan
index 2975c6a592..0f11146d69 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_49.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_5.plan
index 87c5efb4ce..2bf38c983c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_5.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_50.plan
index 2975c6a592..0f11146d69 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_50.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_51.plan
index 4b1ae7bde3..9d75337027 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_51.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_52.plan
index 053caf0f84..b697f89d0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_52.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_53.plan
index 0e03889fa6..524e7408ea 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_53.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_54.plan
index 1b8d424b99..1047f1154c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_54.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_55.plan
index 3b60134562..6ce08d70af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_55.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_56.plan
index d334d75902..986e0baf2f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_56.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_57.plan
index 92e9b86559..9c16a43a66 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_57.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_58.plan
index d82e2a3aba..a98757cacd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_58.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_59.plan
index 0d6308a210..207f3afedb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_59.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_6.plan
index 87c5efb4ce..2bf38c983c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_6.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_60.plan
index 0d6308a210..207f3afedb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_60.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_61.plan
index 49f6178a30..12093dd016 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_61.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_62.plan
index 6053164181..c48e8772d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_62.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_63.plan
index 43db53a943..105fcb61eb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_63.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_64.plan
index 43db53a943..105fcb61eb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_64.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_65.plan
index 82f9a83c6e..169bb940e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_65.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_66.plan
index 82f9a83c6e..169bb940e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_66.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_67.plan
index e65159f749..5fdb5893d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_67.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_68.plan
index bb7bb42b3f..d36dfa756e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_68.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_69.plan
index 806032bcc5..2cb6ab4e36 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_69.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_7.plan
index 5639e6f7e2..9c77c8aaa9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_7.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_70.plan
index d5c1848b55..67b36ebec9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_70.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_71.plan
index d162b0ab20..0925500771 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_71.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_72.plan
index 8f0d910828..4bb57008ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_72.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_73.plan
index 7378f233eb..335280d69b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_73.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_74.plan
index a5a12c9547..e62e62155a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_74.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_75.plan
index bf15a4f3b6..dfba1ae101 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_75.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_76.plan
index 19174bef68..2b90cb8f4b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_76.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_77.plan
index 5c18d00ef9..b4cab23535 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_77.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_78.plan
index 5c18d00ef9..b4cab23535 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_78.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_79.plan
index f5906e99ff..590e8fea59 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_79.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_8.plan
index 5639e6f7e2..9c77c8aaa9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_8.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_80.plan
index c0f84b30f0..fa55d74460 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_80.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_81.plan
index d6a3f76007..c8732a23b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_81.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_82.plan
index c5cccbdfe9..2e0d3750fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_82.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_83.plan
index 7dabef96e0..eea5741148 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_83.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_84.plan
index ef291d5ed0..7036610be3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_84.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_85.plan
index 7f0806b4d1..f9d90aebcf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_85.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_86.plan
index dfc70e7acf..118483fb36 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_86.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_87.plan
index 7dabef96e0..eea5741148 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_87.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_88.plan
index 183e41e36f..6d6792be01 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_88.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_89.plan
index 73f56220a7..f65daff8b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_89.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_9.plan
index c90420869b..1f1d28f6dd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_9.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_90.plan
index 73f56220a7..f65daff8b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_90.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_91.plan
index c8b51b3e3b..558d35132e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_91.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_92.plan
index d14603a86a..b30421258e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_92.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_93.plan
index 6e2fb722a7..16291a0909 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_93.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_94.plan
index e2f893d4cf..3a19135bbc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_94.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_95.plan
index 02cc9c6d18..52d954d212 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_95.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_96.plan
index 02cc9c6d18..52d954d212 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_96.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_97.plan
index cd80a29dbc..fde50a467f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_97.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_98.plan
index cd80a29dbc..fde50a467f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_98.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_99.plan
index 903bd8a2c7..d55bc2c456 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-12.test_/query_99.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-12.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-12.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-12.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-12.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-12.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-12.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_1.plan
index f4d9db0a95..0da4d09917 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_1.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_10.plan
index 99e87d1d85..3ad5ba12bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_10.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_100.plan
index 58b0a0d80a..c67d6c75b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_100.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_101.plan
index 0ad9bee78a..ee9095d9c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_101.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_102.plan
index 812b120949..312f41a9e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_102.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_103.plan
index 812b120949..312f41a9e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_103.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_104.plan
index de8c1dd6cf..0700a9a6ea 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_104.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_105.plan
index 90ffe46500..52b611878c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_105.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_106.plan
index 9f6b0b1669..30213eefa3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_106.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_11.plan
index d335e555fa..a4a71cbe84 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_11.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_12.plan
index fbc0ab3abe..b2329569e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_12.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_13.plan
index 6b85bc8a01..2bac0c6b18 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_13.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_14.plan
index 9dd272d450..fd3b5ba6d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_14.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_15.plan
index 13b6ec2037..0d02070753 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_15.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_16.plan
index 721bb4683e..af39b8af19 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_16.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_17.plan
index a1306e3c13..0e702a9aeb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_17.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_18.plan
index 4295534c73..51f2f7eb6c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_18.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_19.plan
index 4295534c73..51f2f7eb6c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_19.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_2.plan
index 76c6f25886..05ffec0636 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_2.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_20.plan
index 1c505f8b64..07a8994276 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_20.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_21.plan
index 65ea04d560..b1e616b079 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_21.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_22.plan
index 8424d1637a..9023e24efe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_22.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_23.plan
index 8424d1637a..9023e24efe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_23.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_24.plan
index 733842f3ef..037159025d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_24.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_25.plan
index c77e078393..47a4795f5d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_25.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_26.plan
index bcd85caacd..2c4e24370b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_26.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_27.plan
index bcd85caacd..2c4e24370b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_27.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_28.plan
index d33456ed66..024a6cc87d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_28.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_29.plan
index d33456ed66..024a6cc87d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_29.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_3.plan
index 74836ebad5..3c1bccee69 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_3.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_30.plan
index 8424d1637a..9023e24efe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_30.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_31.plan
index 8424d1637a..9023e24efe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_31.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_32.plan
index bba36d9ce7..2249b832de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_32.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_33.plan
index bba36d9ce7..2249b832de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_33.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_34.plan
index ea80d28abe..b64a94fbdc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_34.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_35.plan
index b4fe6cbfdd..b7debde943 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_35.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_36.plan
index 2d9745b612..cdc0fcbecb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_36.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_37.plan
index bb451a5672..2fc1862811 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_37.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_38.plan
index e8d6ec69e5..939d6eef05 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_38.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_39.plan
index 2c82fecf46..67c611336b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_39.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_4.plan
index 30cf7fd4c2..302915e3de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_4.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_40.plan
index 19b8396107..e41843fdfa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_40.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_41.plan
index 4ecd788bef..dc8e012dbd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_41.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_42.plan
index 870014210c..34fc111a5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_42.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_43.plan
index 870014210c..34fc111a5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_43.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_44.plan
index 4b8c9cdd1e..b83f2b34f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_44.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_45.plan
index 4b8c9cdd1e..b83f2b34f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_45.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_46.plan
index c447253187..e4189b0a7f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_46.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_47.plan
index bd20f46063..1ba658e5b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_47.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_48.plan
index 4f3df1c1a7..3b557aa158 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_48.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_49.plan
index 88a966f296..128f152547 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_49.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_5.plan
index dd6dd34509..1e88224a93 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_5.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_50.plan
index 5be23c826c..cee5aec118 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_50.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_51.plan
index 459a2a3170..9a0abb36a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_51.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_52.plan
index 93a0224250..ddc127a5bf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_52.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_53.plan
index 0f8c467405..5455ab20d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_53.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_54.plan
index cb21d4c5ad..48c9111f32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_54.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_55.plan
index 2622d21c07..5b702b96c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_55.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_56.plan
index 0b2baa9d59..faf128f0e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_56.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_57.plan
index 16b2aa0db0..d0706e3e70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_57.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_58.plan
index dcba2fbf3d..960c5ef3d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_58.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_59.plan
index dcba2fbf3d..960c5ef3d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_59.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_6.plan
index 7b22b9f2e5..2a6c4996fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_6.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_60.plan
index 73016960d0..30e0abdd41 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_60.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_61.plan
index 73016960d0..30e0abdd41 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_61.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_62.plan
index 54b5863e69..119edacc34 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_62.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_63.plan
index 54b5863e69..119edacc34 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_63.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_64.plan
index 9499b67ad8..a0dfa2a3ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_64.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_65.plan
index 215a8bc292..b79665352d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_65.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_66.plan
index 7744d043de..4c0587f0da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_66.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_67.plan
index abfcf9512d..edc27f355d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_67.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_68.plan
index 866c95db56..12c2da99fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_68.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_69.plan
index 859185e7ff..81729b53a2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_69.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_7.plan
index eacbc00b7b..a9a16d361b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_7.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_70.plan
index 338f7a5ef4..049cabd585 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_70.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_71.plan
index c8c2ec786d..fd7606d423 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_71.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_72.plan
index 19b8396107..e41843fdfa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_72.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_73.plan
index 5b34d68bba..f2140d5a08 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_73.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_74.plan
index 815444c86f..8bbeb94ead 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_74.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_75.plan
index c22a48bc5a..4d75df42af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_75.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_76.plan
index 94c338d931..55d0778727 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_76.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_77.plan
index fedcf7548a..edc1130f08 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_77.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_78.plan
index db7a7b7cb3..82b3aafb6b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_78.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_79.plan
index e9fb01e1dc..41369ec070 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_79.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_8.plan
index 55535f6f53..c7fe75a0a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_8.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_80.plan
index 04e2ef0c1a..32b0edf5b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_80.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_81.plan
index a201bbee29..13dbf54952 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_81.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_82.plan
index 309333e46f..b4d57fd7de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_82.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_83.plan
index 774f8ab791..58a46aaf9b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_83.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_84.plan
index b4cc64cbbe..9e8faf72c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_84.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_85.plan
index b4cc64cbbe..9e8faf72c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_85.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_86.plan
index addbbebfed..4df755b777 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_86.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_87.plan
index addbbebfed..4df755b777 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_87.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_88.plan
index 0b2baa9d59..faf128f0e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_88.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_89.plan
index 0b2baa9d59..faf128f0e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_89.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_9.plan
index d5a02d6719..41faf1911b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_9.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_90.plan
index e7c128a674..77e210193f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_90.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_91.plan
index 88a387b9df..73b8a49334 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_91.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_92.plan
index b166fc751e..13e09fd46f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_92.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_93.plan
index b166fc751e..13e09fd46f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_93.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_94.plan
index 888d312d4f..17c8ed85cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_94.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_95.plan
index 71b98b0a0b..647f5958de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_95.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_96.plan
index 005a091d2a..a2c9f95dc7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_96.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_97.plan
index 005a091d2a..a2c9f95dc7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_97.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_98.plan
index 93a13ff8dd..13d2350dca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_98.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_99.plan
index 93e457f7ee..5a7d9c93ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-13.test_/query_99.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-13.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-13.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-13.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-13.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-13.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-13.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_1.plan
index 225dec8220..6b5163b37d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_1.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_10.plan
index 64567481ef..f0020c08be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_10.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_100.plan
index 09db91ed60..d78100aa8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_100.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_101.plan
index 1da9aa8110..f09110f8d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_101.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_102.plan
index 6685d5aefa..4a40c6e74f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_102.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_103.plan
index fe2b862ff2..29b4eb6acd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_103.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_104.plan
index b9f4ea4469..d8b7e065e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_104.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_105.plan
index ac6232628b..26d3664303 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_105.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_11.plan
index 797ea0444f..7aa204b03f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_11.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_12.plan
index 178fcde58d..e63c60c78f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_12.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_13.plan
index 178fcde58d..e63c60c78f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_13.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_14.plan
index 6d943822d3..7d0ed3e346 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_14.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_15.plan
index 6881687d7f..494d7e098a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_15.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_16.plan
index 947c18bd8b..b662a9d338 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_16.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_17.plan
index c014f8b393..1d2993873a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_17.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_18.plan
index 919d8b6c3c..424090dbf0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_18.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_19.plan
index 357b0ea5d6..bbcc3b6dd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_19.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_2.plan
index 3d2f58987d..0ae437493c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_2.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_20.plan
index e34dba9958..7f40a4c0ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_20.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_21.plan
index 74734dee12..e5027111f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_21.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_22.plan
index 867ea932bd..0473d8d6e3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_22.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_23.plan
index 75db3ad6ce..248c499d17 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_23.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_24.plan
index 0ed5efd7ca..31751d5ae6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_24.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_25.plan
index 0ed5efd7ca..31751d5ae6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_25.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_26.plan
index 7a6d4e433a..9ccc635c83 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_26.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_27.plan
index 3f140d040e..ebe465fe8a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_27.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_28.plan
index 20496a64b1..10499e2bbd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_28.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_29.plan
index e3be38ef8a..0ce16b64f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_29.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_3.plan
index 3d2f58987d..0ae437493c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_3.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_30.plan
index 0a67e2cd0c..b81b4f0fc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_30.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_31.plan
index 4d2209fe40..833f115842 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_31.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_32.plan
index edf6d01e50..f7738b7b90 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_32.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_33.plan
index edf6d01e50..f7738b7b90 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_33.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_34.plan
index 7c48f0a33c..91e980b664 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_34.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_35.plan
index 3833f44aae..f76ab6c0fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_35.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_36.plan
index 67afa0de2b..b5bff2aad6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_36.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_37.plan
index 67afa0de2b..b5bff2aad6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_37.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_38.plan
index b73889cd62..6caf04c420 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_38.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_39.plan
index 9754e321ca..617a59b5df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_39.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_4.plan
index 886ccab3ea..c0ceb0a89a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_4.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_40.plan
index 2057c85cca..e27bcdf80e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_40.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_41.plan
index 2057c85cca..e27bcdf80e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_41.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_42.plan
index c6cf3d7786..507e4e8670 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_42.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_43.plan
index 5005e2cf8b..d20c9926be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_43.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_44.plan
index 5aecdda94b..09e19e9754 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_44.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_45.plan
index 5aecdda94b..09e19e9754 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_45.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_46.plan
index fd3eb34137..19ee373beb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_46.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_47.plan
index fd3eb34137..19ee373beb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_47.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_48.plan
index 91c09b335c..468ded8742 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_48.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_49.plan
index 91c09b335c..468ded8742 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_49.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_5.plan
index 886ccab3ea..c0ceb0a89a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_5.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_50.plan
index ec1be597fd..270c13b5b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_50.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_51.plan
index 11fc1d7954..c43b452bce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_51.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_52.plan
index e7c41175dc..e89461b65a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_52.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_53.plan
index 73e35d663c..9310fe653d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_53.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c > item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_54.plan
index dd79b751f0..a0350074b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_54.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_55.plan
index 78d64423cb..40f8b8ca5d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_55.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_56.plan
index 176020c7e1..a9687e4282 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_56.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_57.plan
index f3d91d6ba9..976294c08e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_57.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_58.plan
index 0ce5b1bdb5..9c98676e7d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_58.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_59.plan
index fb731ff5c7..0671ae6825 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_59.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_6.plan
index 9c135f9a24..6aca2de305 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_6.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_60.plan
index d7dfd99f6f..6b24e42e93 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_60.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_61.plan
index f99da74a8c..ad1e72699a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_61.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_62.plan
index efe835235a..093f9e31f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_62.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_63.plan
index efe835235a..093f9e31f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_63.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_64.plan
index 525e0a839f..2d962e667a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_64.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_65.plan
index 525e0a839f..2d962e667a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_65.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_66.plan
index 00012ec07b..5bf8edced7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_66.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_67.plan
index 00012ec07b..5bf8edced7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_67.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_68.plan
index e879f97e3d..c22b375958 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_68.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_69.plan
index ccb9936a1b..9ac7ac2e0c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_69.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_7.plan
index 9c135f9a24..6aca2de305 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_7.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_70.plan
index 21c0ff6dc4..033bd50fc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_70.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_71.plan
index 144033d20a..f11ef24b0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_71.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_72.plan
index c24819ad80..79546570af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_72.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_73.plan
index 458fa727f2..f065cda3e3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_73.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_74.plan
index b18351c64f..b6ba3f9e50 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_74.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_75.plan
index 47b02954a9..b18fa3f789 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_75.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_76.plan
index 23ec4a73cb..80edee89dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_76.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_77.plan
index 09f7c2c329..c8510fd561 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_77.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_78.plan
index 4cc18e9e6e..e26acac81b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_78.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_79.plan
index 9b071dce77..d12c2b83c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_79.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_8.plan
index 02f1360a8f..8a2b617d65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_8.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_80.plan
index b5670334e9..0bd17922aa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_80.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_81.plan
index 105aa7910a..9dc8334e59 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_81.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_82.plan
index 1d12fd45c8..1bbcfe74a7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_82.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_83.plan
index 1d12fd45c8..1bbcfe74a7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_83.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_84.plan
index 5192204dc7..0a42be521d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_84.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_85.plan
index 5192204dc7..0a42be521d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_85.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_86.plan
index 87f2330c82..50032ddf77 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_86.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_87.plan
index 84abe75eb4..40038e981f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_87.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_88.plan
index dd1058ad20..779efb4a61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_88.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_89.plan
index 37e2f7c96e..cf94eba865 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_89.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_9.plan
index 02f1360a8f..8a2b617d65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_9.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_90.plan
index a332f137d0..76bdb10126 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_90.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_91.plan
index 6bd5e40b6c..243ec06aee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_91.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_92.plan
index bd6c93c11d..6825bedfc7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_92.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_93.plan
index bd6c93c11d..6825bedfc7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_93.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_94.plan
index 00a9a8864f..952b4ce174 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_94.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_95.plan
index 00a9a8864f..952b4ce174 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_95.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_96.plan
index ef48bd41ea..281e6441f9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_96.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_97.plan
index ef48bd41ea..281e6441f9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_97.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_98.plan
index 64aecf5746..9627c8880b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_98.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_99.plan
index 64aecf5746..9627c8880b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-14.test_/query_99.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-14.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-14.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-14.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-14.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-14.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-14.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_1.plan
index 3dca98bc1a..a5b5fd49c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_1.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_10.plan
index cd7e4398aa..bc57311c6b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_10.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_11.plan
index ca836f81d7..3eccdfea09 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_11.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_12.plan
index 6b2953174f..bd1ed9c969 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_12.plan
@@ -1 +1,217 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_13.plan
index 191a0da845..e4b9ba20f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_13.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_14.plan
index e6a548fc6c..d6fe81a529 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_14.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_15.plan
index 83c90122fd..5e89c1d1ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_15.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_16.plan
index 83c90122fd..5e89c1d1ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_16.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_17.plan
index c53258a496..286de98389 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_17.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_18.plan
index c53258a496..286de98389 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_18.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_19.plan
index 92e72e0aa7..9058345592 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_19.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_2.plan
index 155f67298b..edb5cd92bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_2.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_20.plan
index 92e72e0aa7..9058345592 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_20.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_21.plan
index da82311aac..26326ce69c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_21.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_22.plan
index a3cee8f83a..0b474ccc71 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_22.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_23.plan
index ab1988796a..4aa1e9f9c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_23.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_24.plan
index 61c216856d..af3f775ede 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_24.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_25.plan
index 1be918d128..7d41f7e3cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_25.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_26.plan
index 07f2eae0da..92b47e53cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_26.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_27.plan
index 4ebfdd47f2..dc70503885 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_27.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_28.plan
index e6b0520890..4d25420c28 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_28.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_29.plan
index b81162d539..aa1123f7bf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_29.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_3.plan
index b706e56b7a..bbe35b12b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_3.plan
@@ -1 +1,207 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_30.plan
index c5ab5a12e1..743ab8995f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_30.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_31.plan
index 6be722b63a..4e9ec7b7cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_31.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_32.plan
index 6be722b63a..4e9ec7b7cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_32.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_33.plan
index daa6130f8b..c3e5033dd1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_33.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_34.plan
index daa6130f8b..c3e5033dd1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_34.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_35.plan
index 1386498de4..11fdb3c7b4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_35.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_36.plan
index 1386498de4..11fdb3c7b4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_36.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_37.plan
index 27e1bf31a4..37fee3454d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_37.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_38.plan
index 27e1bf31a4..37fee3454d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_38.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_4.plan
index 03c854e6e6..e144d2ea07 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_4.plan
@@ -1 +1,207 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_5.plan
index 26e47bc2f8..f1dbf26b52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_5.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_6.plan
index 2674f828a2..011103c6d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_6.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_7.plan
index 2902bbcf1a..2b886c84d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_7.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_8.plan
index c5562e40fb..d94d780950 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_8.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_9.plan
index 4419548ef6..9f0258d798 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-15.test_/query_9.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-15.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-15.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-15.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-15.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-15.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-15.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_1.plan
index 85759d1ee4..c226dd4321 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_1.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.b > item.c And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_10.plan
index 6f8ac3f431..19dd901376 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_10.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_100.plan
index 585a097ffb..7abe1216a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_100.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_101.plan
index 578521d4f1..70da9e1608 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_101.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_102.plan
index 932f2b1945..d37419c6c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_102.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_103.plan
index aa46ef14e4..f805e49040 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_103.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_104.plan
index 721538f357..fa4d185139 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_104.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_105.plan
index 721538f357..fa4d185139 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_105.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_106.plan
index 1e95d3752a..365810cdb0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_106.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_107.plan
index 20401a04ba..cf9e1d9496 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_107.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_108.plan
index 5871892e6a..95ea86a958 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_108.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_109.plan
index 5871892e6a..95ea86a958 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_109.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_11.plan
index 6f8ac3f431..19dd901376 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_11.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_110.plan
index 5e2ce7a4d8..4bcb158de4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_110.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_111.plan
index 5e2ce7a4d8..4bcb158de4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_111.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_112.plan
index e080441192..66321cdedc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_112.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_113.plan
index e080441192..66321cdedc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_113.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_114.plan
index 6f8ac3f431..19dd901376 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_114.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_115.plan
index 6f8ac3f431..19dd901376 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_115.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_116.plan
index 1bc308a272..c36228e4de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_116.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_117.plan
index 1bc308a272..c36228e4de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_117.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_118.plan
index f605761d0f..8bd72acf37 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_118.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_119.plan
index d4d899b264..1b7b2dc8dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_119.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_12.plan
index 4d9fc4b746..395120009e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_12.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_120.plan
index f894f1c571..8cb7e44ee4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_120.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_121.plan
index aadae2111a..dd50038cc4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_121.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_122.plan
index 0aec184658..29ae6f78cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_122.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_123.plan
index 74043bc5f0..27da5310da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_123.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_124.plan
index b9355875d9..8251e6caed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_124.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_125.plan
index b9355875d9..8251e6caed 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_125.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_126.plan
index 27996bd2ce..37d5373d53 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_126.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_127.plan
index 51f0408f16..1d8c79c6c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_127.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_128.plan
index c290d56697..8b96a3cdf0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_128.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_129.plan
index 92f83eb964..87b04199f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_129.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_13.plan
index e12d9ca6b8..9a58958af5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_13.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_130.plan
index 65a3b6be48..e23617f667 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_130.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_131.plan
index b22cca2a7c..4acf4cf8fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_131.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_132.plan
index 05dbbd9e2f..e826e6a3f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_132.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_133.plan
index 938ad490ba..2aac57a5a7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_133.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_134.plan
index 398943876e..53a7e46e7e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_134.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_135.plan
index 0bb336b615..10e5f775af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_135.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_136.plan
index 8aa5786d89..c8552efc77 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_136.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_137.plan
index 88bb6cfad4..3854823926 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_137.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_138.plan
index ce827a256c..ed14607c83 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_138.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_139.plan
index c857c84d3c..a474af86af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_139.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_14.plan
index a2cd4e5baa..39ec064fc7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_14.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_140.plan
index 08104f787b..b8ccdf9ce1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_140.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_141.plan
index 803d2f1ee4..0c259e8d7c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_141.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_142.plan
index d50f2f73a6..474d3d380f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_142.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_143.plan
index d50f2f73a6..474d3d380f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_143.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_144.plan
index f9459714aa..9d83a5c4c6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_144.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_145.plan
index 091eb8ba2e..582a727454 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_145.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_15.plan
index 6212ce3729..7551090339 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_15.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_16.plan
index 959611fbe7..cece39d032 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_16.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_17.plan
index 80541ec370..5ed4756caa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_17.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_18.plan
index 0170aaf261..2e387c2ae2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_18.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_19.plan
index 4c065533dd..735413004b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_19.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_2.plan
index 9001c3d134..54cc2bc85a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_2.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_20.plan
index 91f4d9566e..fca63d0420 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_20.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_21.plan
index dbc4233df2..66bdd6e878 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_21.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_22.plan
index 9a9f1e15fd..55483403ec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_22.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_23.plan
index fd94555e74..04cd6e9e35 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_23.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_24.plan
index 2ad3b7c187..a0c2b19b9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_24.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_25.plan
index c27d243bc4..272bfc9964 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_25.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_26.plan
index 2ff49f9879..77180e1e9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_26.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_27.plan
index 0ed5f22144..8eb5f9eb8b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_27.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_28.plan
index 538d7729de..90c63906f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_28.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_29.plan
index dbbd06761e..608e2a5baf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_29.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_3.plan
index 5bf7e6d0c6..aefa1e02cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_3.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_30.plan
index 3c978b9482..0785a46dd0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_30.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_31.plan
index b7d1f51497..d3787043f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_31.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_32.plan
index 8bb4f8758d..5971320d5a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_32.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_33.plan
index 8bb4f8758d..5971320d5a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_33.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_34.plan
index cb2b9260b2..6a69985b80 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_34.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_35.plan
index 1f0d833f67..ce9295b70e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_35.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_36.plan
index b840f2f6b3..d8da9db3a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_36.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_37.plan
index 34fce91b52..1741774576 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_37.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_38.plan
index 308041bd8d..f5ce0cce8d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_38.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_39.plan
index 9972bfdb74..5164f418ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_39.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_4.plan
index 1c0baf6ddb..6a4b16d485 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_4.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_40.plan
index 14bb742c82..a737bf5dbf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_40.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_41.plan
index d3d00819eb..ea65c3d563 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_41.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_42.plan
index 91f4d9566e..fca63d0420 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_42.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_43.plan
index 4a3c923ec2..0f1fa29fb1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_43.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_44.plan
index 45a5868300..84847555d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_44.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_45.plan
index f23a24eaf0..e28fafe7af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_45.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_46.plan
index d1b318f5eb..2f52b094e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_46.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_47.plan
index 0d2c5adaa5..d9124d6535 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_47.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_48.plan
index d904add63b..8185270e30 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_48.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_49.plan
index 4d0fcc6a4a..c7322d7d52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_49.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_5.plan
index 8333d300d5..f3d737024b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_5.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_50.plan
index d43932326f..8cadbacdc3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_50.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_51.plan
index 99c15880f1..c73ad286ff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_51.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_52.plan
index 91f4d9566e..fca63d0420 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_52.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_53.plan
index f18f48a813..88c85162d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_53.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_54.plan
index e400abadd3..a8669160bf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_54.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_55.plan
index cfcaa90154..d029086e95 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_55.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_56.plan
index be0ffd777d..20955bb601 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_56.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_57.plan
index c646468c0d..ead0b9d6c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_57.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_58.plan
index 4344c47877..e1c0ba232a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_58.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_59.plan
index 1e55536efa..62d601b639 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_59.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_6.plan
index 0bec9e6ace..62451a2ae7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_6.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_60.plan
index d62cd119f9..b470ddca77 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_60.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_61.plan
index a8aab5aaef..53f132a0e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_61.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_62.plan
index e50b2f6762..bfdabe9243 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_62.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_63.plan
index dae5d97ccd..9bc919ace9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_63.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_64.plan
index 50bce9088c..ad5559dbb7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_64.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_65.plan
index f0496115db..df9163fbbc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_65.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_66.plan
index 54cba3d772..49233442d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_66.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_67.plan
index 414e7f8994..e6f0d95183 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_67.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_68.plan
index 762ced77cb..150a143582 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_68.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_69.plan
index a2e238b74c..ec8f5ba1cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_69.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_7.plan
index 0bec9e6ace..62451a2ae7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_7.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_70.plan
index ae020235ff..93a97b9555 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_70.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_71.plan
index c7add29e51..c54b424a97 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_71.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_72.plan
index 9aad40c9ad..6c2cc8b8ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_72.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_73.plan
index 01a44bbe7d..229091e3ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_73.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_74.plan
index c56ecf9017..cb008c613a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_74.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_75.plan
index c56ecf9017..cb008c613a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_75.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_76.plan
index 762ced77cb..150a143582 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_76.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_77.plan
index 439c342ddd..fc596e5876 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_77.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_78.plan
index 4288183ab8..69859b48c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_78.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_79.plan
index 9bd69eedd8..39681b7dc6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_79.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_8.plan
index cd6db77a7b..5c78069db8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_8.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_80.plan
index 924a665d23..11a8435846 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_80.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_81.plan
index ac60ee8a28..c1ab57dfa2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_81.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_82.plan
index e6b56f3ee8..e95a5d3494 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_82.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_83.plan
index bad8a92f0f..57614ff830 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_83.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_84.plan
index a6ac0e8bbe..77861b6c8b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_84.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_85.plan
index 2839d83010..2a0634c980 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_85.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_86.plan
index 8979163cb6..3ede896cf7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_86.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_87.plan
index 8979163cb6..3ede896cf7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_87.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_88.plan
index af2ddaaa36..75059a8709 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_88.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_89.plan
index af2ddaaa36..75059a8709 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_89.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_9.plan
index cd6db77a7b..5c78069db8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_9.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_90.plan
index e842bc512f..b94f799767 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_90.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_91.plan
index e842bc512f..b94f799767 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_91.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_92.plan
index e921e42d02..daa7c0325c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_92.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_93.plan
index a5e1f458b2..40bc341c22 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_93.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_94.plan
index 39b6bd1475..980f9e5bd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_94.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_95.plan
index de1f85eb98..3a0f883e4d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_95.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_96.plan
index 6d5d16271a..3a09929c60 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_96.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_97.plan
index 6d5d16271a..3a09929c60 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_97.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_98.plan
index 9aad40c9ad..6c2cc8b8ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_98.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_99.plan
index d1795e505a..eb36547a85 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-2.test_/query_99.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-2.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-2.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-2.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-2.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-2.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-2.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_1.plan
index 0acd01c621..ba5d62355b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_1.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_10.plan
index 07009777ea..da417360d1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_10.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_100.plan
index 4db08c7c0e..9a4c82014e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_100.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_101.plan
index 0693a11293..994183c2b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_101.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_102.plan
index 48d328d2b9..ec99e41b6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_102.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_103.plan
index 81de501af7..9a3a4c3e76 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_103.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_104.plan
index f22cb13ed1..2ab16eea38 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_104.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_105.plan
index a0bb4dffff..2148b5c75d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_105.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_106.plan
index aeee5e2a64..98e917273f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_106.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_107.plan
index 86303d7c46..b6ea60d678 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_107.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_108.plan
index 5598e9d274..802a94ae53 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_108.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_109.plan
index 108a566b38..a84ebb123e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_109.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_11.plan
index 51a7f073fe..d88e2c47b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_11.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_110.plan
index a9a20643eb..eb3fb051eb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_110.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_111.plan
index 6fa3998608..7727619890 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_111.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_112.plan
index ba9fa5376e..437e3ceb55 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_112.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_113.plan
index f705028491..921e4e9501 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_113.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_114.plan
index e1dacbf276..222ec073df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_114.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_115.plan
index 6e94db44e9..c5d8c09118 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_115.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_116.plan
index c539fed131..ecce79d0d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_116.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_117.plan
index bfb47e35ee..754e32b3bc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_117.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_118.plan
index bfb47e35ee..754e32b3bc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_118.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_119.plan
index 9740664bb4..85bc4e46f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_119.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_12.plan
index 4a9f1ca0f3..7c14956736 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_12.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_120.plan
index 0e3633292b..b1c05b5b0b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_120.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_121.plan
index 6217bc61a2..1e0046c0ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_121.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_122.plan
index 90157923f6..f849fee31f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_122.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_123.plan
index b477ea6e98..6838db07d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_123.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_124.plan
index b477ea6e98..6838db07d6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_124.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_125.plan
index 3b7960a3e5..148df90b14 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_125.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_126.plan
index b64075871f..43c826ab70 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_126.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_127.plan
index cb68f04488..f2e136707f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_127.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_13.plan
index 0afeab6af4..641f7958d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_13.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_14.plan
index 9d488c684f..94056cc802 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_14.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_15.plan
index 142b8012eb..a1fe3b1e6e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_15.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_16.plan
index 3b08bb0881..6fb66cffca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_16.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_17.plan
index 627dafd569..fe4b15a2ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_17.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_18.plan
index 627dafd569..fe4b15a2ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_18.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_19.plan
index 788a661d83..e46486b732 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_19.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_2.plan
index 88bfaa4ba2..68e1444869 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_2.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_20.plan
index 6e8a015242..46a6d9a31f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_20.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_21.plan
index 2cee583e48..ce0d978351 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_21.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_22.plan
index 0a81426885..afb9abad68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_22.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_23.plan
index fb05b1b754..382bd6721a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_23.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_24.plan
index fb05b1b754..382bd6721a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_24.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_25.plan
index 6af6ecb5bb..251eaf116a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_25.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_26.plan
index 6af6ecb5bb..251eaf116a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_26.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_27.plan
index 142b8012eb..a1fe3b1e6e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_27.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_28.plan
index 74bcafb5cf..0d488dd10a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_28.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_29.plan
index 9a383b2edc..8b6b7b0eb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_29.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_3.plan
index d5179aa727..ba03e076d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_3.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_30.plan
index 238204a407..9b79f7197e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_30.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_31.plan
index e0db8cc886..233d0d7275 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_31.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_32.plan
index 83be75991f..a1802b4c30 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_32.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_33.plan
index d441896991..9f32a9b40f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_33.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_34.plan
index 75780ea9d1..a8233f361b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_34.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_35.plan
index 26cb17acbe..74fdebafcc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_35.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_36.plan
index 26cb17acbe..74fdebafcc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_36.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_37.plan
index f76326d3fb..2e02a1a221 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_37.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_38.plan
index ee3314deeb..527bf115f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_38.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_39.plan
index 4bf2a5cf21..5960ad3d28 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_39.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_4.plan
index 14839beb83..9fe3033581 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_4.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_40.plan
index 966f5caf70..300a384510 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_40.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_41.plan
index 6b866aab62..7174d30e11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_41.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_42.plan
index 6b866aab62..7174d30e11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_42.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_43.plan
index 9a383b2edc..8b6b7b0eb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_43.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_44.plan
index a64da9cb64..a97ccc5cd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_44.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_45.plan
index 9a383b2edc..8b6b7b0eb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_45.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_46.plan
index c177afc829..7fc47ddf5d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_46.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_47.plan
index a6f2b28b77..a5a139c2cc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_47.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_48.plan
index c740dc6193..700550f5f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_48.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_49.plan
index 23e42f8b2d..a814a07a8c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_49.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_5.plan
index f4453bc329..9d44ca44fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_5.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_50.plan
index dba8ed0967..32e236a70d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_50.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_51.plan
index 4344ae8fd4..c0a14a7111 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_51.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_52.plan
index 0a817a3585..d6030efe9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_52.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_53.plan
index ed1ff760c6..295816a027 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_53.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.a > item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_54.plan
index 153d815026..346092e42e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_54.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.a > item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_55.plan
index 757690f64f..cab0330e46 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_55.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_56.plan
index 124ce11d91..afeabb9116 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_56.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_57.plan
index ce38e51633..a32b0e4eee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_57.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_58.plan
index ce38e51633..a32b0e4eee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_58.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_59.plan
index 656c1b0c7e..fc41e2f9db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_59.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_6.plan
index 26470855a6..3eeec55336 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_6.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_60.plan
index 656c1b0c7e..fc41e2f9db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_60.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_61.plan
index b8e3caed94..30887fa1e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_61.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_62.plan
index b8e3caed94..30887fa1e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_62.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_63.plan
index b88a6f7816..b401f13b31 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_63.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_64.plan
index b88a6f7816..b401f13b31 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_64.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_65.plan
index ba5077ee5e..567d64a13a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_65.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_66.plan
index ba5077ee5e..567d64a13a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_66.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_67.plan
index c7278b20e2..3aa5d94cf2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_67.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_68.plan
index c7278b20e2..3aa5d94cf2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_68.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_69.plan
index 7a38a58d2d..3d5447028a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_69.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_7.plan
index 812ccb2d7f..59cc0ccada 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_7.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_70.plan
index 7a38a58d2d..3d5447028a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_70.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_71.plan
index 9407adbe0d..760f30fda7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_71.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_72.plan
index 9407adbe0d..760f30fda7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_72.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_73.plan
index 7eac44ba8e..8d5ffdcbc1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_73.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_74.plan
index 0728401d3b..5995422389 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_74.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_75.plan
index fae452daf0..36b4266f24 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_75.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_76.plan
index d920b08268..525f8d6efd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_76.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_77.plan
index fe1d7c9016..9ce31875e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_77.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_78.plan
index 1576522c71..8687c84beb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_78.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_79.plan
index 7fb75adcb2..7d60d11c52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_79.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_8.plan
index af1de8bc0a..2a0cf2d520 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_8.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_80.plan
index 8a5429de3e..7036fcf348 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_80.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_81.plan
index 4ff80a8aa5..b752a1595b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_81.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_82.plan
index 4250139936..7df63adf3d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_82.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_83.plan
index 0802edda6a..02f884332a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_83.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_84.plan
index 73852cd575..97307e101f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_84.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_85.plan
index 1bc0b9b94e..eebbd2c302 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_85.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_86.plan
index 1bc0b9b94e..eebbd2c302 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_86.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_87.plan
index 4dd018c9cb..b8979b4ab4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_87.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_88.plan
index 86aa0a4641..bff68c32f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_88.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_89.plan
index 44359d551f..00553c2f03 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_89.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_9.plan
index 8360a11de4..81d6a26058 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_9.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_90.plan
index b8f4a11b3a..4856fbb4cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_90.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_91.plan
index 428e58153f..1f1e02970e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_91.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_92.plan
index fb8e43ff2d..7c57314138 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_92.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_93.plan
index 8c8438dd0e..d13d0055a2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_93.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_94.plan
index 81e7d0dfc9..ce3c36731f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_94.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_95.plan
index 6e94db44e9..c5d8c09118 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_95.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_96.plan
index 169a7e1a53..f5b33a03df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_96.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_97.plan
index b8afc5d71a..29e3d46c34 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_97.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_98.plan
index b88385b907..2184ee4561 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_98.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_99.plan
index f4c9fff81c..a7eee302d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-3.test_/query_99.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-3.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-3.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-3.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-3.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-3.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-3.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_1.plan
index db6e488fb5..310de584c7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_1.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_10.plan
index b2fbc68356..a7b3f67253 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_10.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_100.plan
index cf14af5d23..11e6fa77de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_100.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_101.plan
index f9872f8952..fd0fbdbccb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_101.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_11.plan
index b2fbc68356..a7b3f67253 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_11.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_12.plan
index 998ea8c407..7cc2961089 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_12.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_13.plan
index 998ea8c407..7cc2961089 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_13.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_14.plan
index 71dfeddcd7..d213d06157 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_14.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_15.plan
index c3c633341d..8e3eebc752 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_15.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_16.plan
index 1b8f7ede1d..a6e5f7c44c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_16.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_17.plan
index bdf3ea8389..8420d3c11a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_17.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_18.plan
index cbf7570939..725c90ac46 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_18.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_19.plan
index cbf7570939..725c90ac46 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_19.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_2.plan
index 0e550b2823..bb8783a8e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_2.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_20.plan
index c6aae141bb..88c1f153a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_20.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_21.plan
index 1a4fe3a5ff..965642095f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_21.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_22.plan
index 4cc1f298f7..b7c8539f9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_22.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_23.plan
index 3335925469..0416003c58 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_23.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_24.plan
index 69f58a3143..3bb49b5503 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_24.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_25.plan
index a59fdf945c..168027ffd3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_25.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_26.plan
index 97c75e1a2d..fd77899a0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_26.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_27.plan
index 97c75e1a2d..fd77899a0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_27.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_28.plan
index dda4f2ae8a..db986d5f64 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_28.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_29.plan
index 94542d80f6..36947a1475 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_29.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_3.plan
index 0e550b2823..bb8783a8e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_3.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_30.plan
index 45dc462c6e..e96fdf28b7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_30.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_31.plan
index 45dc462c6e..e96fdf28b7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_31.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_32.plan
index 0e2b21bda1..5eb43b8da0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_32.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_33.plan
index 0e2b21bda1..5eb43b8da0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_33.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_34.plan
index 225a463106..9ab72d4dd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_34.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_35.plan
index 4d7e3be3e6..9afa1090eb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_35.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_36.plan
index 7900dda1a6..b3d70e0061 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_36.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_37.plan
index 6736ac548c..62b46896ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_37.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_38.plan
index 8743fe61a0..9bcb1321cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_38.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_39.plan
index 8743fe61a0..9bcb1321cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_39.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_4.plan
index 5cd6e95a46..f807b404d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_4.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_40.plan
index 5874e84a1d..17a6c66993 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_40.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_41.plan
index 0ff8945f4e..9ceded721d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_41.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_42.plan
index 02b32a96bd..a91a81caaa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_42.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_43.plan
index 02b32a96bd..a91a81caaa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_43.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_44.plan
index d8f6fbe4d7..b128edd754 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_44.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_45.plan
index 3ca6305220..c897b597ff 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_45.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_46.plan
index 9a2bb4637e..ee1e0c8647 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_46.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_47.plan
index c56f28677d..3158d511c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_47.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_48.plan
index 3c8c2b819b..74eedee6f1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_48.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.b > item.c And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_49.plan
index 368d260a77..3a4ab37e14 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_49.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.b > item.c And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_5.plan
index 5cd6e95a46..f807b404d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_5.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_50.plan
index fab0da1b23..a8a3f7307d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_50.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_51.plan
index 92758c41ee..8ec0483d7b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_51.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_52.plan
index 0d8742f952..7b7ea5b20d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_52.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_53.plan
index c21b02103e..5bbe55740b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_53.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.a \\u003E item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.a > item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_54.plan
index db7e9fe31d..dba84f1f0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_54.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_55.plan
index bfba837ee4..93eb57c37b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_55.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_56.plan
index b1790a7908..322b458dc7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_56.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_57.plan
index 29b4c111cf..13dc58f0cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_57.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_58.plan
index bfc7817d80..3572ebe0db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_58.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_59.plan
index bfc7817d80..3572ebe0db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_59.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_6.plan
index 88c8cb296c..e683b8eb4c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_6.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_60.plan
index 8533f8c256..1bad0228b0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_60.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_61.plan
index 089ef3de75..2642ee7651 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_61.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_62.plan
index d0ffdca40f..dac15f02a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_62.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_63.plan
index d0ffdca40f..dac15f02a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_63.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_64.plan
index d65ecf50b8..0defe4d70d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_64.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_65.plan
index 15b638efc4..54400cf063 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_65.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_66.plan
index 2205dd4733..c558126586 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_66.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_67.plan
index 06071867c5..b209c5f691 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_67.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_68.plan
index 90b6bdc23d..4136e5f6ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_68.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_69.plan
index fbad887ccb..a67ec129be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_69.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e \\u003E item.c Or item.e \\u003C item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e > item.c Or item.e < item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_7.plan
index ec78495d95..8ef7f240f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_7.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_70.plan
index 1c8f38a2eb..f148b1ccda 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_70.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_71.plan
index b7bbed13df..8b2c964db0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_71.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_72.plan
index 98caad924d..af24cf8ad3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_72.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_73.plan
index 98caad924d..af24cf8ad3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_73.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_74.plan
index e62ca12b85..18efd01fcb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_74.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_75.plan
index e62ca12b85..18efd01fcb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_75.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_76.plan
index 98e1dad5dd..ee376fe2fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_76.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_77.plan
index 98e1dad5dd..ee376fe2fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_77.plan
@@ -1 +1,211 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_78.plan
index 68694e339f..e0f4139476 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_78.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_79.plan
index 81fe3787e6..820393b0f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_79.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_8.plan
index d1bd89be00..87b3428a1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_8.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_80.plan
index 6f0b6e181d..ffb39fa3e1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_80.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_81.plan
index 5268f8201c..2cf4920633 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_81.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_82.plan
index f39f7752b3..1ca22a5a1e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_82.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_83.plan
index 85ab6cc8d9..c46fb4fd9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_83.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_84.plan
index 99a88dc064..c42f24e0af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_84.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_85.plan
index 3f373f2069..851c7c5f6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_85.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_86.plan
index 5ef3d5d58c..7ee67a6b86 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_86.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_87.plan
index 5ef3d5d58c..7ee67a6b86 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_87.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_88.plan
index 0e67fe116d..17080b7e38 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_88.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_89.plan
index 59d8efa096..cf6081429c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_89.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_9.plan
index d1bd89be00..87b3428a1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_9.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_90.plan
index 75f381cf73..b85b4ca380 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_90.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_91.plan
index 63f870dbc9..28001c3d3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_91.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_92.plan
index ac3128cb8c..5fcf93eeb3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_92.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_93.plan
index 8e6a77e423..41bd41d42a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_93.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_94.plan
index cf14af5d23..11e6fa77de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_94.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_95.plan
index a1e3a20070..3a1c6ccb1b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_95.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_96.plan
index 968cc8d4d3..9fe1a9a97a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_96.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_97.plan
index 03abc62573..06079b4970 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_97.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_98.plan
index a8e24a7017..00617c444d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_98.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_99.plan
index 083dae6dae..595064494f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-4.test_/query_99.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-4.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-4.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-4.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-4.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-4.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-4.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_1.plan
index 83bf578cbc..96a0699e2e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_1.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_10.plan
index e1fd68714a..efb466535d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_10.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_100.plan
index 79a5212e3a..2550f11bfe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_100.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_101.plan
index 6f787951da..b23638741b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_101.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_102.plan
index 6f787951da..b23638741b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_102.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_103.plan
index 96a1af232b..49c6fa1916 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_103.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_104.plan
index 971834293c..112bc8265b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_104.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_105.plan
index d100af769d..0527286560 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_105.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_106.plan
index 59b8d5b06c..991f635af0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_106.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_107.plan
index caee139b12..339c9ce440 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_107.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_108.plan
index caee139b12..339c9ce440 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_108.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_11.plan
index 33fc943c00..e893194dee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_11.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_12.plan
index 3a0d868369..2f084515a2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_12.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_13.plan
index ac13b15ea7..d19611ab5f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_13.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_14.plan
index ac13b15ea7..d19611ab5f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_14.plan
@@ -1 +1,215 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_15.plan
index 91ad8dbd95..c009be25b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_15.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_16.plan
index 91ad8dbd95..c009be25b1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_16.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_17.plan
index 08a78d084f..adc6e8097d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_17.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_18.plan
index 08a78d084f..adc6e8097d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_18.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_19.plan
index 917df6aa0a..a733bd16a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_19.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_2.plan
index 5fae302213..b5222ace5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_2.plan
@@ -1 +1,93 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_20.plan
index 465937dc88..54b182f08a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_20.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_21.plan
index 4c690297ac..b949932625 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_21.plan
@@ -1 +1,210 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_22.plan
index 4c690297ac..b949932625 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_22.plan
@@ -1 +1,210 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_23.plan
index 7116ec72d7..184cce7b90 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_23.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_24.plan
index 01b8d20b80..bb363c0ff2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_24.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_25.plan
index 7116ec72d7..184cce7b90 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_25.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_26.plan
index 0ee25eb7a1..8b5ad67685 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_26.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_27.plan
index eb7b35ebc5..f3b97c092b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_27.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_28.plan
index adb9454e42..f5846132f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_28.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_29.plan
index 444b78a53c..7fb9e60817 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_29.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_3.plan
index 694a05c55f..9d304da258 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_3.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_30.plan
index 3050e82400..075fdffe19 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_30.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_31.plan
index 2c42281bac..fd312392a1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_31.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_32.plan
index dcb95a9149..ed462bf7ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_32.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_33.plan
index 4ad2009fa8..15aa79c68f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_33.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_34.plan
index d991fb720a..9bf8aacf44 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_34.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_35.plan
index c3150a5f8b..a73eb828ee 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_35.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_36.plan
index 4854ea22f4..079f9641c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_36.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_37.plan
index a24a0cf118..ddb4a176ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_37.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_38.plan
index a24a0cf118..ddb4a176ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_38.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_39.plan
index dcb857ec42..ec49f70262 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_39.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_4.plan
index d57d7ca9b5..5b4044307b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_4.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_40.plan
index 0120c5defe..a04b54bfa9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_40.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_41.plan
index 3550354959..4ce72ad71a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_41.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_42.plan
index 7adc6bd7ca..ba378bced7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_42.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_43.plan
index 7aed81489c..8edad00b16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_43.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_44.plan
index 7aed81489c..8edad00b16 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_44.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_45.plan
index adf8008c7c..71be92ea2f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_45.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_46.plan
index adf8008c7c..71be92ea2f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_46.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c > item.d Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_47.plan
index 11eac4b6bb..55382da5f2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_47.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_48.plan
index 12d60e7683..a314fa2df3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_48.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c > item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_49.plan
index afd0d3608c..15e8775e43 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_49.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_5.plan
index 5dad8aac16..7c3aaeed1d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_5.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_50.plan
index 7451ef8503..701a934cd5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_50.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_51.plan
index 3a360a6f92..1582303938 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_51.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_52.plan
index 5f26af6236..7a501dac31 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_52.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_53.plan
index 694a05c55f..9d304da258 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_53.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_54.plan
index 22d082206f..1e0e2511a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_54.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_55.plan
index 97ac887484..49342e479e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_55.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_56.plan
index 97ac887484..49342e479e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_56.plan
@@ -1 +1,206 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_57.plan
index 4f0ea8c72e..6187142d49 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_57.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_58.plan
index 4f0ea8c72e..6187142d49 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_58.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_59.plan
index e435deaf3c..f066fb2a0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_59.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_6.plan
index c66cd892fb..be4888ef0b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_6.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_60.plan
index e435deaf3c..f066fb2a0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_60.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_61.plan
index 1fc648aa71..349b64069b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_61.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_62.plan
index 1fc648aa71..349b64069b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_62.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_63.plan
index 68d8241fee..ebeea04415 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_63.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_64.plan
index 68d8241fee..ebeea04415 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_64.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_65.plan
index 2f563f9013..0549419952 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_65.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_66.plan
index d48b308eb7..daf8ba5ed0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_66.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_67.plan
index 8dc4460b8e..c13812d7c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_67.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_68.plan
index 8dc4460b8e..c13812d7c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_68.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_69.plan
index 7bdf020482..f23de87aa8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_69.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_7.plan
index 2c3e5167cd..7d34ff6b00 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_7.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_70.plan
index 72c8e6bf49..893b970e8f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_70.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_71.plan
index 49249e0450..451e906d3d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_71.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_72.plan
index 691e3b796e..8c838d19e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_72.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_73.plan
index e7aa572300..1533d49268 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_73.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_74.plan
index 2b8d2619c4..909f72e48d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_74.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_75.plan
index f58819a720..8275941a0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_75.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_76.plan
index 5d2c85bfc1..64232180d9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_76.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_77.plan
index 572ffc6f42..1b430ea662 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_77.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_78.plan
index 4c3b6f0a82..2223cec0fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_78.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_79.plan
index 7116ec72d7..184cce7b90 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_79.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_8.plan
index e3751115a7..adfe626917 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_8.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_80.plan
index eef0d0c51a..70062ac3d2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_80.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_81.plan
index 0243922628..98ce94d4af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_81.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_82.plan
index 0243922628..98ce94d4af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_82.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_83.plan
index 4e8c53f165..3742e888dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_83.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_84.plan
index 42c1c0b51a..4bb270f06d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_84.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_85.plan
index 7aa1535e3d..017e5eb88e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_85.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_86.plan
index a176f61e52..109316bd0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_86.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_87.plan
index 22200d473b..5240c037c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_87.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_88.plan
index c311e1a256..dfef71bce3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_88.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_89.plan
index c6155d8e5a..27ebc8f8e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_89.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_9.plan
index e1fd68714a..efb466535d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_9.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_90.plan
index 0a7cb6101a..c95f8ca6ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_90.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_91.plan
index 1fda563eef..fecd976a0a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_91.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_92.plan
index 31d4228346..c234a81e68 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_92.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_93.plan
index 3a686e2ffc..b63eca1024 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_93.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_94.plan
index ce2e3df957..e5247045ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_94.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_95.plan
index c0258eff7f..19354baef1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_95.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_96.plan
index f44c941341..e08787f207 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_96.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_97.plan
index 0c006664da..234a25c1c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_97.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_98.plan
index 0c006664da..234a25c1c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_98.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_99.plan
index 79a5212e3a..2550f11bfe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-5.test_/query_99.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-5.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-5.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-5.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-5.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-5.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-5.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_1.plan
index 635cee9830..330d32113f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_1.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_10.plan
index a272c25cc8..290e970314 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_10.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_100.plan
index 528748ffb4..4e4137c249 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_100.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_101.plan
index 7748c08dfd..1a11c337ae 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_101.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_102.plan
index 197a3e5169..3557ba7f51 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_102.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_103.plan
index d19da8fbea..a6862edd2d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_103.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_104.plan
index 603b16e8d2..f00aa484e4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_104.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_105.plan
index 853c38beb6..87715cbcca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_105.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_106.plan
index ed54535143..987e286825 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_106.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_107.plan
index f01f12a728..118812bd80 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_107.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_108.plan
index 01fa384357..5cb787776f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_108.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_109.plan
index 50532371dc..f89baa7a67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_109.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_11.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_11.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_110.plan
index d36dac98d8..b85785a368 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_110.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_111.plan
index 268b12f99e..686ba3648f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_111.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_112.plan
index de6004df88..67714fd47a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_112.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_113.plan
index cad96fcc1f..6adb0af2b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_113.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_114.plan
index 920256c06a..d2b65fc29f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_114.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_115.plan
index ba5dcf9c42..179539dab6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_115.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_116.plan
index 88491dcdf7..5ce278d517 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_116.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_117.plan
index 85617bde10..eac4dafaa1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_117.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_118.plan
index 85617bde10..eac4dafaa1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_118.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_119.plan
index e962c0258f..079281f07b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_119.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_12.plan
index c2f4ded02b..ea6e4ba198 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_12.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_120.plan
index e962c0258f..079281f07b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_120.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_121.plan
index 6decb01d7f..ca57c41dfd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_121.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_122.plan
index 6decb01d7f..ca57c41dfd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_122.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_123.plan
index 3471bb89b6..32fd2981e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_123.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_124.plan
index 3471bb89b6..32fd2981e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_124.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_125.plan
index df8e900c5f..a0eb40560a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_125.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_126.plan
index df8e900c5f..a0eb40560a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_126.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_127.plan
index f06a2ef996..c337666b39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_127.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_128.plan
index f06a2ef996..c337666b39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_128.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_129.plan
index 25fa13f7f0..69267b6568 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_129.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_13.plan
index 80c6624882..75001dbfb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_13.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_130.plan
index 25fa13f7f0..69267b6568 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_130.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_131.plan
index 2464333cdf..c5254febfb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_131.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_132.plan
index 78efbe8349..c20e80122b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_132.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_133.plan
index e9c20def3b..d10d34eae6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_133.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_134.plan
index 91250867da..8f5b4cebfd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_134.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_135.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_135.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_136.plan
index f07feab826..1ff6425667 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_136.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_14.plan
index 80c6624882..75001dbfb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_14.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_15.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_15.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_16.plan
index c2f4ded02b..ea6e4ba198 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_16.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_17.plan
index 63427b934d..266ea0b75d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_17.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_18.plan
index 8a224f900f..2bcb3829dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_18.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.c \\u003E item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.c > item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_19.plan
index 97df63c7ab..953e79b507 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_19.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_2.plan
index 885d70aed0..9728d8666b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_2.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.d < 110 Or item.d > 150 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_20.plan
index c58b567180..fbcc0c641e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_20.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.b \\u003E item.c And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.b > item.c And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_21.plan
index 4711ac6301..ea3ba36e2b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_21.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_22.plan
index ee17eeea7a..6596aabc49 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_22.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c > item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_23.plan
index 337d3e1f60..a6394e6296 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_23.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_24.plan
index b96db0d317..ce70e730e8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_24.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_25.plan
index e1c019b1ca..c41423698e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_25.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_26.plan
index f04c0174c1..32093198a8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_26.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_27.plan
index 1a08a637e9..b647e3d211 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_27.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_28.plan
index 4e1eaf8dcb..9e287d462e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_28.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_29.plan
index a81eae03a4..6e449eee38 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_29.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_3.plan
index b1bb2ecdb5..a3f8cd1d6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_3.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_30.plan
index 35475bfc4c..1cfb15dd05 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_30.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_31.plan
index bf1f2176fd..8532e217ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_31.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_32.plan
index 96ab32d13c..e672052a8d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_32.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_33.plan
index 0f637603f2..18d320ca57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_33.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_34.plan
index 0f637603f2..18d320ca57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_34.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_35.plan
index bd3b810328..7bec31904b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_35.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_36.plan
index bd3b810328..7bec31904b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_36.plan
@@ -1 +1,214 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_37.plan
index 01166e2218..fb59597f94 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_37.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_38.plan
index 7b5ee3b44f..f9d3e58f87 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_38.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_39.plan
index 9b4572cd8e..8389dcde32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_39.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_4.plan
index 409828c448..411398a8b0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_4.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_40.plan
index 9b4572cd8e..8389dcde32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_40.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_41.plan
index 5bf23157af..5c8b74d82f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_41.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_42.plan
index 93af17cb12..87dd2f5a00 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_42.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_43.plan
index 0e11d7e341..3f4bea0c5a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_43.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_44.plan
index 0e11d7e341..3f4bea0c5a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_44.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_45.plan
index 3e46807617..09dc54a3bd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_45.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_46.plan
index eb4db556ec..3e43173932 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_46.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_47.plan
index 4510b6415d..7c315b568f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_47.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_48.plan
index 2007df70c2..ddd639b9c4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_48.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_49.plan
index fd6d8049ec..6c896c47d7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_49.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_5.plan
index e7a997dbb0..eb8ae79cf1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_5.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_50.plan
index 6f0c1b9dea..73ae5a4997 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_50.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_51.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_51.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_52.plan
index c740b27c49..dd0b1c36fd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_52.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_53.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_53.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_54.plan
index f5eeb1d420..db7dd9907e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_54.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_55.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_55.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_56.plan
index bbf71b9180..f8ebd34fd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_56.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_57.plan
index dd19ab21db..c93d749c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_57.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_58.plan
index 04db738517..d6597a0c29 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_58.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_59.plan
index dcdedfa2f7..2602ff6814 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_59.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_6.plan
index d77ab5bb53..458b81cd4a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_6.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d < 110 Or item.d > 150 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_60.plan
index dcdedfa2f7..2602ff6814 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_60.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_61.plan
index b1e5bf5bb9..cb03111f67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_61.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_62.plan
index b1e5bf5bb9..cb03111f67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_62.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_63.plan
index 1c0bd51612..5204f3fe29 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_63.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_64.plan
index 1c0bd51612..5204f3fe29 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_64.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_65.plan
index b528ef6974..d573d514a6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_65.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_66.plan
index 398cad8b99..0837f341f4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_66.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_67.plan
index 910cb7ccb8..4461f026fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_67.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_68.plan
index 910cb7ccb8..4461f026fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_68.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_69.plan
index 6b7a8d1781..5f87bded4d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_69.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_7.plan
index 1f9650bf8f..6c5fe288fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_7.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_70.plan
index 1602eb8935..a49d0c7fe3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_70.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_71.plan
index 3a930cdbef..116e14bfac 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_71.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_72.plan
index 29c5fbb149..3566dcbf03 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_72.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_73.plan
index 9002058f27..31c885faa9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_73.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_74.plan
index 9002058f27..31c885faa9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_74.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_75.plan
index b69a4bb5f3..7cccfb21c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_75.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_76.plan
index b69a4bb5f3..7cccfb21c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_76.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_77.plan
index 0aaea7366b..5442b262fb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_77.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_78.plan
index 1ec1ab03ea..61d60aa7ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_78.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_79.plan
index 2efdcbb91a..267efd2128 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_79.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_8.plan
index 1f9650bf8f..6c5fe288fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_8.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_80.plan
index 86db05db97..a59e73cca1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_80.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_81.plan
index 823b307926..681d10f150 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_81.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_82.plan
index b8dae57d0e..f2478d70ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_82.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_83.plan
index e492037e22..e785db37ef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_83.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_84.plan
index fa69ad3713..1a17db6e9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_84.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_85.plan
index c4b7631f07..efccb174b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_85.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_86.plan
index c163c41030..392a149379 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_86.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_87.plan
index 669b5970d4..6ed8e2be4e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_87.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_88.plan
index 669b5970d4..6ed8e2be4e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_88.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_89.plan
index d82451ebcb..3cb09e75c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_89.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_9.plan
index 356cdd8c5c..7b6d251f9e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_9.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_90.plan
index f530d69670..96c5922054 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_90.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_91.plan
index 96eb6ab926..4783de250e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_91.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_92.plan
index 96eb6ab926..4783de250e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_92.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_93.plan
index d339b09f29..c4c5b7dc51 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_93.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_94.plan
index d339b09f29..c4c5b7dc51 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_94.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_95.plan
index 3a2f7a8886..9c7fba17c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_95.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_96.plan
index 3a2f7a8886..9c7fba17c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_96.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_97.plan
index 9741b93362..14cc26c272 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_97.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_98.plan
index 9741b93362..14cc26c272 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_98.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_99.plan
index d7ff8b4794..1e95f3a134 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-6.test_/query_99.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-6.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-6.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-6.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-6.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-6.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-6.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_1.plan
index 761c05d538..1e6f9e31ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_1.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_10.plan
index f039c55f99..b0a1f67bb6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_10.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_100.plan
index 2aeed976d5..0737b3eece 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_100.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_101.plan
index 8329af598e..3fb31104e8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_101.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_102.plan
index 2a1ed51c14..02cf4b50de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_102.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c > item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_103.plan
index 1504ec7ff2..beb7f4daf5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_103.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_104.plan
index 2ecd9e8276..c3a4c2b2af 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_104.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d > item.e Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_105.plan
index c1a22b6644..7d80bc9de6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_105.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.a And item.e < item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_106.plan
index ac579d0717..e1aa71a4b7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_106.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.e > item.a And item.e < item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_107.plan
index f35f92dd96..b523cf600a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_107.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_108.plan
index 33a789997c..453d27c6bc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_108.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_109.plan
index 265b068b1f..a75673f6e5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_109.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_11.plan
index 0d28a4a0c4..119b6dec61 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_11.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_110.plan
index 71617ec4ae..55f5d4729c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_110.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_111.plan
index d1a74cf984..3567ade725 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_111.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_112.plan
index ada2cc1a43..fe7d0562bb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_112.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_113.plan
index bfa8ff9ae6..8dda7feeca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_113.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_114.plan
index 9e2a11c410..5c0c91b9fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_114.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_115.plan
index 8574ec0ae6..8b2a45b9ad 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_115.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_116.plan
index 789713a8e0..0d01f6d4a1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_116.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_117.plan
index e13c137ef0..1add53b50a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_117.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_118.plan
index d1827f80cd..cf95252e72 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_118.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_119.plan
index b6bd36a388..576263c7ea 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_119.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_12.plan
index 718562e619..36b048b24f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_12.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_120.plan
index 68ede045bb..fb6e293849 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_120.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_121.plan
index 11882ad8e7..df0cb2dc4e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_121.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_122.plan
index 9b750e8517..929af80a52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_122.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_123.plan
index 091a088f81..01ff78ac02 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_123.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_13.plan
index 0f230c8751..50838d46f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_13.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_14.plan
index 0f230c8751..50838d46f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_14.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_15.plan
index b9b5713133..bf4be55a82 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_15.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_16.plan
index f307acc51f..c26f68c865 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_16.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_17.plan
index 8c1e20b8ea..8dc48701e2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_17.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_18.plan
index ce5f701658..77fa2c0af4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_18.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.a \\u003E item.b Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.a > item.b Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_19.plan
index 7057d209b0..8651e33bde 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_19.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_2.plan
index 9486abd7e2..c58f6cd5a3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_2.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_20.plan
index 6d7743ee69..09d8fcf39b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_20.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_21.plan
index c85496437a..9e8704b1b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_21.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_22.plan
index c85496437a..9e8704b1b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_22.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_23.plan
index b040ddcd0a..171a7f03e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_23.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_24.plan
index b040ddcd0a..171a7f03e6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_24.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_25.plan
index ad72b64566..ea8652ff32 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_25.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_26.plan
index 2939e0de08..e693d4c801 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_26.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_27.plan
index 8085d926b0..678cf898e3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_27.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c > item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_28.plan
index 64472ea560..395cd41afb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_28.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.c \\u003E item.d And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.c > item.d And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_29.plan
index c3f1021a02..e94484380e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_29.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_3.plan
index 60d762f400..257cc1e2f9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_3.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_30.plan
index 15abf6f39d..a46efe42b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_30.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.a \\u003E item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.a > item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_31.plan
index 5957d7cdae..14a53c9911 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_31.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_32.plan
index 5957d7cdae..14a53c9911 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_32.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_33.plan
index 049eb22f72..4fb309705f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_33.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_34.plan
index 049eb22f72..4fb309705f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_34.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_35.plan
index 21fb7d9b1a..218f6561a2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_35.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_36.plan
index 21fb7d9b1a..218f6561a2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_36.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_37.plan
index ec8c784eb7..16f75eb39c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_37.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_38.plan
index 7c686a78a1..ba3e61cf92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_38.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_39.plan
index b3bdf3840e..ab5350269a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_39.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_4.plan
index dd26aa556c..f99114412f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_4.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_40.plan
index 11b2358c17..5760e9ef6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_40.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_41.plan
index 831630ec60..6e93564c54 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_41.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_42.plan
index fc73301b9d..0b5155d9ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_42.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_43.plan
index c9dfc2e5f7..a849270bef 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_43.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_44.plan
index 830f855ef3..5988c31d0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_44.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_45.plan
index 421f55ec9f..c363ababbe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_45.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_46.plan
index f94c7a5dbd..0e419b11e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_46.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_47.plan
index 816d9b0b3c..a8e8f9e698 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_47.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_48.plan
index 67990616ad..450c503ea4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_48.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_49.plan
index f67dfd48db..b1ceb85284 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_49.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_5.plan
index 07af95b6ab..3c15b901b6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_5.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_50.plan
index ae42a1c501..5f40d63661 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_50.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_51.plan
index 667678a797..c079890eb0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_51.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_52.plan
index 55ad72598a..9853d3aee3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_52.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_53.plan
index 6713d4e060..701b1197ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_53.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_54.plan
index d035a23d1c..0d88765be3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_54.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_55.plan
index e7b85b06d4..64ac492e85 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_55.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_56.plan
index e7b85b06d4..64ac492e85 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_56.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_57.plan
index 8842d0daf1..7fdc783390 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_57.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_58.plan
index 8842d0daf1..7fdc783390 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_58.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_59.plan
index 3e8f2f1926..9898db219f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_59.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_6.plan
index 07af95b6ab..3c15b901b6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_6.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_60.plan
index 3e8f2f1926..9898db219f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_60.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003E item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c > item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_61.plan
index d5a58d2986..1ed2749cb8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_61.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_62.plan
index d5a58d2986..1ed2749cb8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_62.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_63.plan
index 7f4c92de4d..070aa3cbc5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_63.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_64.plan
index 9b1d7c3b6e..50f2b080e9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_64.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_65.plan
index 666225c390..1f20c42c62 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_65.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_66.plan
index a365f0657a..cf58b3cd64 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_66.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_67.plan
index 39e73d6027..fd3d9bbac9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_67.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_68.plan
index b08e12f016..1cbd123e39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_68.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_69.plan
index 3719f4cdca..ccc5a9c4a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_69.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_7.plan
index 9ffa7347b8..dd27488f12 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_7.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_70.plan
index 3719f4cdca..ccc5a9c4a4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_70.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_71.plan
index 1f35198ed8..89ad410f51 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_71.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_72.plan
index 560dd3a53e..8b7d91f5e0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_72.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_73.plan
index 63d6395cd6..caae5eff69 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_73.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_74.plan
index 397a0f4444..9020d75121 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_74.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_75.plan
index 095c3f2b2d..ce4c3e7733 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_75.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_76.plan
index 877d731f29..d6323d70c8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_76.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_77.plan
index 35ea0b7287..b1faa82597 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_77.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_78.plan
index 5a2e9a1505..7bfdc02318 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_78.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_79.plan
index 467b252f2d..2384ef7087 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_79.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_8.plan
index 37bad0b9e4..8fa81f2298 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_8.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_80.plan
index 6c21316af7..7a3fa978c5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_80.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_81.plan
index e7dead00e9..42562138f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_81.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_82.plan
index 477201a5c6..9d9a56354a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_82.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_83.plan
index b1b5453613..e45b6ed6d8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_83.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_84.plan
index 958b2ac339..e20e155b7d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_84.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003E item.e And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d > item.e And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_85.plan
index 6b39158947..4fd448d38d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_85.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_86.plan
index 6f0dfa5831..7b0447c342 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_86.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_87.plan
index d1a74cf984..3567ade725 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_87.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_88.plan
index 3af3f586fb..3c50654bbd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_88.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_89.plan
index 26fb707109..7d4d9d48df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_89.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_9.plan
index f039c55f99..b0a1f67bb6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_9.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_90.plan
index 7db688fc56..d112749d39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_90.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_91.plan
index a442f28e80..f68be25914 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_91.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_92.plan
index a442f28e80..f68be25914 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_92.plan
@@ -1 +1,96 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_93.plan
index 900b566505..890fe95a64 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_93.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_94.plan
index a2792a4438..1cc911854c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_94.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_95.plan
index f4fe29ed5e..43bbded72f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_95.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_96.plan
index 22b6f2e143..d80ea36d25 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_96.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_97.plan
index 5d22a6e93b..30d864a57b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_97.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_98.plan
index 5d22a6e93b..30d864a57b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_98.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_99.plan
index fb15f0fb97..ec968a444e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-7.test_/query_99.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-7.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d Or item.d \\u003E item.e Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-7.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-7.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d Or item.d > item.e Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-7.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-7.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-7.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_1.plan
index be979ca573..a2a0d9064a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_1.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_10.plan
index ff2a50f646..6630635ed2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_10.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_100.plan
index 2e12738366..7c1eaf2d5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_100.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_101.plan
index 2e12738366..7c1eaf2d5c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_101.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_102.plan
index df97650939..3e05a20d2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_102.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_103.plan
index df97650939..3e05a20d2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_103.plan
@@ -1 +1,98 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_104.plan
index f8ea159db9..16f2aa2ca3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_104.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_105.plan
index 03753c5d2b..ca9fd6863b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_105.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_106.plan
index f323542dd0..d6f1bd280b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_106.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_107.plan
index e9d4c28c1b..6e458b4292 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_107.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_108.plan
index e41849b9af..38e369e79d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_108.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_109.plan
index aef9353a97..bcf7873440 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_109.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_11.plan
index ff2a50f646..6630635ed2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_11.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_110.plan
index 55ead1e46d..d325d8f277 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_110.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_111.plan
index 61ef9aa8ab..7b410554fa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_111.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_112.plan
index a1a42938c5..9e622dd69e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_112.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_113.plan
index 1b51a4a411..1d73e74366 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_113.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_114.plan
index da7b965c31..14d9f54e55 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_114.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_115.plan
index 8f9b5da2b5..f8393edb6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_115.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_116.plan
index 3263224283..788bafcdb4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_116.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_117.plan
index b8169dbf4a..b759072c3f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_117.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_118.plan
index 83b6c84202..07044d44e8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_118.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_119.plan
index 83b6c84202..07044d44e8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_119.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_12.plan
index 37f7855bd1..81a9e3cfe3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_12.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_120.plan
index 0565876e23..7eafa5e0be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_120.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_121.plan
index 7596c39650..8631f6d805 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_121.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_13.plan
index 6a94843953..5f36ab3626 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_13.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_14.plan
index 90080ff8f8..8de978ed8f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_14.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_15.plan
index 6d890d9e10..4847beb5f7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_15.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_16.plan
index dc644a9cba..73acc3e3e5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_16.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_17.plan
index 820dad737f..38e7ec20d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_17.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_18.plan
index 0dd32b8d8c..7ad501fdcd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_18.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_19.plan
index 3cc922904f..8df3f709c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_19.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_2.plan
index 5051605f11..2e2d7604ca 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_2.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_20.plan
index 1717740218..8811210be8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_20.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_21.plan
index aa80048fc8..26f56d85f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_21.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_22.plan
index 6569ea3454..4e558bbdb5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_22.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_23.plan
index e844fe7b7d..b3afcfd02b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_23.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_24.plan
index d557688198..ad54462c39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_24.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_25.plan
index 6f47d091e1..13f9930461 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_25.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_26.plan
index edf8f49533..8d60fa5f6d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_26.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_27.plan
index 044acfece5..56d0baea0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_27.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_28.plan
index f3595557ed..755a0935c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_28.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_29.plan
index eb0fa376e9..2788dc06ec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_29.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_3.plan
index 2a7c09f66d..706f28f9ad 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_3.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e \\u003E item.a And item.e \\u003C item.b And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e > item.a And item.e < item.b And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_30.plan
index 0dbc888fa4..257a8230fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_30.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_31.plan
index 0dbc888fa4..257a8230fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_31.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_32.plan
index 4519a01402..2abf4b4bd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_32.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_33.plan
index 4519a01402..2abf4b4bd4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_33.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_34.plan
index 577cb40410..60f3df7d54 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_34.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_35.plan
index 577cb40410..60f3df7d54 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_35.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_36.plan
index cfac580fb8..8968519ec2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_36.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_37.plan
index cfac580fb8..8968519ec2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_37.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_38.plan
index 5ed93e3a9c..ed99dc6899 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_38.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_39.plan
index 5ed93e3a9c..ed99dc6899 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_39.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_4.plan
index 0dbc888fa4..257a8230fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_4.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_40.plan
index f66c6f889e..06013ee7bb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_40.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_41.plan
index f9554e29c1..6331534e42 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_41.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_42.plan
index 559f240f14..b72e9058a9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_42.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_43.plan
index bfb457a4c8..a6e7f02caa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_43.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_44.plan
index 58cba0e33b..206ed064b6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_44.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_45.plan
index 6660e855fc..c72c24c8b3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_45.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_46.plan
index bc71109141..f554de45df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_46.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_47.plan
index 8cef3dcc8f..60d35410de 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_47.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.a > item.b And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_48.plan
index b1af2eff24..15841aad83 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_48.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_49.plan
index 74802deff3..faf2fe8806 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_49.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_5.plan
index 0dbc888fa4..257a8230fc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_5.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_50.plan
index 7491a59532..cfedc89585 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_50.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_51.plan
index 84d3f42a61..799bb91b66 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_51.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_52.plan
index b2bd08cbe3..fe9e380ebc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_52.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_53.plan
index b1df66e94f..f9267a3b10 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_53.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_54.plan
index 7ae05cc933..90ad0dcac7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_54.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_55.plan
index 945775a881..c6bbbe7a3d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_55.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_56.plan
index 5cd24de35a..cb82816af1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_56.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_57.plan
index cb155c4dca..9ff1d2dacf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_57.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_58.plan
index 76f8f8f657..829ec75841 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_58.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_59.plan
index 5f3c60e595..cfd7e41f07 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_59.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_6.plan
index cce8b332a3..3c6fadc1ba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_6.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_60.plan
index 609672bb7d..e7b14cffec 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_60.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_61.plan
index f89f6052d8..69ae6bbf65 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_61.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_62.plan
index 8357303e29..5ad9e7608d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_62.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_63.plan
index 25ff7591ca..7df2fdb8dc 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_63.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_64.plan
index e3df29e5f4..d40fb00083 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_64.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_65.plan
index 6c7e26c2f5..a8299b20a1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_65.plan
@@ -1 +1,92 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_66.plan
index 1717740218..8811210be8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_66.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_67.plan
index fbb028700c..7be9a86693 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_67.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_68.plan
index de2cc7a173..9528f8a33e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_68.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_69.plan
index bebcd27e05..8e3e99da25 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_69.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_7.plan
index 1cbae5c066..e0bae97dcf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_7.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_70.plan
index 1e6e6c9728..403106fa92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_70.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_71.plan
index 1e6e6c9728..403106fa92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_71.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b - 2 And item.a < item.b + 2 Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_72.plan
index ba3f872f2e..4bb3f2cf02 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_72.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_73.plan
index a6917e7c75..e5a8202531 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_73.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.b \\u003E item.c Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.b > item.c Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_74.plan
index fa84209225..733ab1fb8a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_74.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_75.plan
index 3a95f0747c..1ffb1c007b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_75.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_76.plan
index 78acbfb497..d6f1336946 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_76.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_77.plan
index f3158fc589..63104478d4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_77.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_78.plan
index 2242e2058b..5c30681aba 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_78.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_79.plan
index e6e18b56fd..5a7916139d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_79.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_8.plan
index d06103cb39..8950a9a14b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_8.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_80.plan
index 9891dc6f27..0ecfd038b5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_80.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_81.plan
index 32e4d37a63..2ae7b88c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_81.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.d < 110 Or item.d > 150 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_82.plan
index d3dae24376..d8f041356e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_82.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_83.plan
index d295721c5c..ca6a90c858 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_83.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e \\u003E item.a And item.e \\u003C item.b Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e > item.a And item.e < item.b Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_84.plan
index 42da7d04f7..b876038e39 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_84.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_85.plan
index 680e30acee..6abd2d10d5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_85.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_86.plan
index 790d7ec421..80333de3f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_86.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_87.plan
index b5d3278067..7baf6e4643 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_87.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_88.plan
index 5509ca92c6..fdbc26cb3b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_88.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_89.plan
index 5509ca92c6..fdbc26cb3b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_89.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_9.plan
index d06103cb39..8950a9a14b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_9.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_90.plan
index 0b1104b217..b71f3de8c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_90.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_91.plan
index 0b1104b217..b71f3de8c2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_91.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_92.plan
index 1540a1a7fc..18fa70c295 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_92.plan
@@ -1 +1,208 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_93.plan
index 4f3844f15d..4463bb9d92 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_93.plan
@@ -1 +1,208 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_94.plan
index 3d58e4e192..7f312416df 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_94.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_95.plan
index 2464dff546..2e7cab5d58 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_95.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.c \\u003E item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.c > item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_96.plan
index 50f6ee76b6..58c7081de9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_96.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_97.plan
index 2dac6b5900..a334fdf36d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_97.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_98.plan
index 251c58510b..5534fb4c9d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_98.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_99.plan
index 961e645c38..f1c7bdd45a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-8.test_/query_99.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-8.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-8.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-8.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-8.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-8.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-8.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_1.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_1.plan
index fe3aec89da..c05b4e1dda 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_1.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_1.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_10.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_10.plan
index 32943cd804..f3f88e0d25 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_10.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_10.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_100.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_100.plan
index 42daaa862b..ce61e21fc8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_100.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_100.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_101.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_101.plan
index dcc774af1a..a3356c7cc4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_101.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_101.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_102.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_102.plan
index 4b34f1695e..0d6368a42d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_102.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_102.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_103.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_103.plan
index f2f7110e91..81f3b23c6f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_103.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_103.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_104.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_104.plan
index f2f7110e91..81f3b23c6f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_104.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_104.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_105.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_105.plan
index 1838656331..512a107d9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_105.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_105.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_106.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_106.plan
index 231246ed7f..96c760553e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_106.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_106.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.a \\u003E item.b Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col6 (Asc)\",\n \"col3 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.a > item.b Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col6 (Asc)",
+ "col3 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_107.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_107.plan
index 03091021fe..e5eeaf2fcb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_107.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_107.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_108.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_108.plan
index 9c1fc5968e..fba9269396 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_108.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_108.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col7 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.e > item.c Or item.e < item.d Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col7 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_109.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_109.plan
index 059aecfc38..ef6c8ecb89 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_109.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_109.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_11.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_11.plan
index ac72b912c7..dd776970be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_11.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_11.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_110.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_110.plan
index 53e0e9f731..ecb77e98e8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_110.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_110.plan
@@ -1 +1,107 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.a \\u003E item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.a > item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_111.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_111.plan
index 6b8154dcb1..0a9ecdd0f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_111.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_111.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_112.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_112.plan
index 87ffbbe863..6bc1cc5a33 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_112.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_112.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_113.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_113.plan
index 6b8154dcb1..0a9ecdd0f3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_113.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_113.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_114.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_114.plan
index 1b6eeb3b51..1fb9f143b2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_114.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_114.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_115.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_115.plan
index 37d8e49355..45e87d90da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_115.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_115.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_116.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_116.plan
index 37d8e49355..45e87d90da 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_116.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_116.plan
@@ -1 +1,89 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_117.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_117.plan
index b0942fb7b7..8a327f4617 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_117.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_117.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_118.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_118.plan
index 433dcbb261..b7a74ba157 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_118.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_118.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003E item.e And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d > item.e And item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_119.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_119.plan
index e757476176..ae7542eb9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_119.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_119.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_12.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_12.plan
index ac72b912c7..dd776970be 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_12.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_12.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_120.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_120.plan
index e757476176..ae7542eb9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_120.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_120.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.c >= item.b - 2 And item.c <= item.d + 2 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_121.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_121.plan
index 286ab12320..7c5dad5395 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_121.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_121.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_122.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_122.plan
index 286ab12320..7c5dad5395 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_122.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_122.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_123.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_123.plan
index 7971745072..9f01edf1f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_123.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_123.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_124.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_124.plan
index 7971745072..9f01edf1f0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_124.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_124.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_125.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_125.plan
index 73a84ae7f6..2a4da75d40 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_125.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_125.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_126.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_126.plan
index 73a84ae7f6..2a4da75d40 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_126.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_126.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.b \\u003E item.c Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.b > item.c Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_127.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_127.plan
index d18b1cc416..28543e6114 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_127.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_127.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_128.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_128.plan
index d8ab3041ed..38b7fe95f8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_128.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_128.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_129.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_129.plan
index d6387a083f..f110b55577 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_129.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_129.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_13.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_13.plan
index eaa5ad1dd8..81a61c0026 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_13.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_13.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_130.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_130.plan
index b2dcb8ae03..7bc3713e57 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_130.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_130.plan
@@ -1 +1,222 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_131.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_131.plan
index 7bca1f98a0..55ebebf8a6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_131.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_131.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_132.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_132.plan
index d61b08dfbe..2119104481 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_132.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_132.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_133.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_133.plan
index aa1738d069..f17877c2ab 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_133.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_133.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_134.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_134.plan
index 6e1333c28b..596eefaed5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_134.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_134.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_135.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_135.plan
index 87a58a1d5a..82e05a8360 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_135.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_135.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_136.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_136.plan
index 87a58a1d5a..82e05a8360 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_136.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_136.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.a And item.e \\u003C item.b Or item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.a And item.e < item.b Or item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_137.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_137.plan
index 09b4ad0294..6dd8ba5d67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_137.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_137.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_138.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_138.plan
index 09b4ad0294..6dd8ba5d67 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_138.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_138.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 Or item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 Or item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_139.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_139.plan
index 8342752f34..0b4a492f52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_139.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_139.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_14.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_14.plan
index eaa5ad1dd8..81a61c0026 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_14.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_14.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_140.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_140.plan
index 11fd866498..58d96e0827 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_140.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_140.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_141.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_141.plan
index b7a03adefc..e494e44322 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_141.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_141.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_142.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_142.plan
index b7a03adefc..e494e44322 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_142.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_142.plan
@@ -1 +1,97 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_143.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_143.plan
index 5fa3df08d9..35661be107 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_143.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_143.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_144.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_144.plan
index ef5ca8813d..af1c5389b8 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_144.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_144.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b Or item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b Or item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_145.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_145.plan
index dce1df7c8a..bde3ee9086 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_145.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_145.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_146.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_146.plan
index 59cd396407..abcd5e15e4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_146.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_146.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_147.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_147.plan
index 7a6cd05f05..a1a0ace5f6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_147.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_147.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_148.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_148.plan
index 76b1bdcbbe..92aba35a4a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_148.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_148.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.c <= item.d - 2 Or item.c >= item.d + 2 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_149.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_149.plan
index 1661286819..ea1cc49f33 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_149.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_149.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_15.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_15.plan
index 8397e8759c..1a78ca8610 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_15.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_15.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_150.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_150.plan
index b915a21764..0ecac9fc13 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_150.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_150.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_16.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_16.plan
index 8397e8759c..1a78ca8610 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_16.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_16.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_17.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_17.plan
index ba21342ed0..40bcd272ce 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_17.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_17.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_18.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_18.plan
index f39f826892..46b8834d5f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_18.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_18.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e > item.c Or item.e < item.d Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_19.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_19.plan
index 5f38ec816e..667fb8c1cd 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_19.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_19.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_2.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_2.plan
index c045a22db5..4d7ca88fdf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_2.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_2.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_20.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_20.plan
index c9565beea0..0db4e060c3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_20.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_20.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.d \\u003E item.e Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.d > item.e Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_21.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_21.plan
index dc20ad1909..fb9c0d1e42 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_21.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_21.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_22.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_22.plan
index 6452eb3932..9a77462a4b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_22.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_22.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 Or item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col7 (Asc)\",\n \"col2 (Asc)\",\n \"col6 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 Or item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col7 (Asc)",
+ "col2 (Asc)",
+ "col6 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_23.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_23.plan
index 15a5f25f42..45a49bda9f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_23.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_23.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_24.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_24.plan
index 7e7a7e5afa..963c91c46b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_24.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_24.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 Or item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 Or item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_25.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_25.plan
index 895abd2126..b2016b880b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_25.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_25.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_26.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_26.plan
index 0b02feec93..37c0473545 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_26.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_26.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.e \\u003E item.a And item.e \\u003C item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.e > item.a And item.e < item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_27.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_27.plan
index 0411ad9af3..d774244e34 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_27.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_27.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_28.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_28.plan
index e692084d54..2073e2e217 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_28.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_28.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_29.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_29.plan
index 547a8d503d..f5cdface26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_29.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_29.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_3.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_3.plan
index 09566327b3..a9d8a9e9c1 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_3.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_3.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_30.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_30.plan
index f7d092295a..58a46ac848 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_30.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_30.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_31.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_31.plan
index 87ee4d236f..c23269ed2a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_31.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_31.plan
@@ -1 +1,208 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_32.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_32.plan
index d189507937..f3f640cfa2 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_32.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_32.plan
@@ -1 +1,208 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_33.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_33.plan
index 5aa07c5fc7..7ae01c6a59 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_33.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_33.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_34.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_34.plan
index 9751dcf637..a07004b37d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_34.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_34.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_35.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_35.plan
index 6bfc28c852..347eff7bb5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_35.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_35.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_36.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_36.plan
index 0ac480c52e..ed60e0c24e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_36.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_36.plan
@@ -1 +1,105 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_37.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_37.plan
index e6393388fa..8bdb9f988e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_37.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_37.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_38.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_38.plan
index c71bb13378..9c8d20dbd7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_38.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_38.plan
@@ -1 +1,95 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_39.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_39.plan
index c1172968da..13316d82cb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_39.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_39.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_4.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_4.plan
index d43eccc5c2..355ca0d14b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_4.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_4.plan
@@ -1 +1,220 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_40.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_40.plan
index d7bf77b9b6..eae77d333f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_40.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_40.plan
@@ -1 +1,104 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_41.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_41.plan
index 0f2af8fb69..c1c69c5a35 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_41.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_41.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_42.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_42.plan
index 0f2af8fb69..c1c69c5a35 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_42.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_42.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.d \\u003C 110 Or item.d \\u003E 150\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.d < 110 Or item.d > 150"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_43.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_43.plan
index 0bf0b967de..b28d0d5086 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_43.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_43.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_44.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_44.plan
index 0bf0b967de..b28d0d5086 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_44.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_44.plan
@@ -1 +1,99 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_45.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_45.plan
index 8342752f34..0b4a492f52 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_45.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_45.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_46.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_46.plan
index baab84d5da..33e8e32c23 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_46.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_46.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col5 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col5 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_47.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_47.plan
index f82c20237d..8e42a641d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_47.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_47.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_48.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_48.plan
index f82c20237d..8e42a641d3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_48.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_48.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_49.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_49.plan
index 1d58e34017..4a76c76f5b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_49.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_49.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_5.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_5.plan
index 30ea59aaf4..5128ac4b6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_5.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_5.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_50.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_50.plan
index e84eb72ba0..2c82885160 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_50.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_50.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e Or item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e Or item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_51.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_51.plan
index 428180cfbf..438cddec78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_51.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_51.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_52.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_52.plan
index 428180cfbf..438cddec78 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_52.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_52.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.a \\u003E item.b Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.a > item.b Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_53.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_53.plan
index 7caf8bfd8e..cf9032930b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_53.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_53.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_54.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_54.plan
index 58855e62a5..c2df23c2cf 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_54.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_54.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_55.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_55.plan
index 7883870604..9ba7d36554 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_55.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_55.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_56.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_56.plan
index 7883870604..9ba7d36554 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_56.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_56.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.b \\u003E item.c And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.b > item.c And item.a > item.b - 2 And item.a < item.b + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_57.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_57.plan
index a382f5b076..289ba02732 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_57.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_57.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_58.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_58.plan
index 4b90b614a3..7edc210483 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_58.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_58.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c And item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c And item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_59.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_59.plan
index 0513b89ec1..2dc45fba07 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_59.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_59.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_6.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_6.plan
index 30ea59aaf4..5128ac4b6a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_6.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_6.plan
@@ -1 +1,91 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_60.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_60.plan
index 439f674661..f70a8e3cde 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_60.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_60.plan
@@ -1 +1,102 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e And item.a \\u003E item.b - 2 And item.a \\u003C item.b + 2 And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e And item.a > item.b - 2 And item.a < item.b + 2 And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_61.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_61.plan
index b68de0cf24..20340ea76f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_61.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_61.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_62.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_62.plan
index 05081106e1..ecf7e9b68e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_62.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_62.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_63.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_63.plan
index 06941c10f9..15619d6557 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_63.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_63.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_64.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_64.plan
index f1d965dc46..f662e5de9c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_64.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_64.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.e \\u003E item.c Or item.e \\u003C item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.e > item.c Or item.e < item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_65.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_65.plan
index 7443ba775d..b7087ac3c9 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_65.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_65.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_66.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_66.plan
index 3b786fff52..74da311922 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_66.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_66.plan
@@ -1 +1,221 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e \\u003E item.c Or item.e \\u003C item.d Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.e > item.c Or item.e < item.d Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_67.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_67.plan
index e5e5156cbc..57314d5ed5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_67.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_67.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_68.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_68.plan
index 316e1e0cff..f6a574c3c0 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_68.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_68.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_69.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_69.plan
index 6adda99643..e574475521 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_69.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_69.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_7.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_7.plan
index 547a8d503d..f5cdface26 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_7.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_7.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_70.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_70.plan
index 6adda99643..e574475521 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_70.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_70.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_71.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_71.plan
index 99f7197453..14bce597db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_71.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_71.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_72.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_72.plan
index 99f7197453..14bce597db 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_72.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_72.plan
@@ -1 +1,94 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_73.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_73.plan
index af9adb7a2d..60041d1e9a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_73.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_73.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_74.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_74.plan
index 7b0e4f25b3..1354ec0cb6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_74.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_74.plan
@@ -1 +1,224 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col7 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col7 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_75.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_75.plan
index bbbfeba10d..58e8fe08e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_75.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_75.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_76.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_76.plan
index bbbfeba10d..58e8fe08e7 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_76.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_76.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d < 110 Or item.d > 150 And item.a > item.b And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_77.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_77.plan
index 6aecefad8a..fe118bc336 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_77.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_77.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_78.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_78.plan
index 6aecefad8a..fe118bc336 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_78.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_78.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.a \\u003E item.b And item.d \\u003C 110 Or item.d \\u003E 150 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.a > item.b And item.d < 110 Or item.d > 150 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_79.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_79.plan
index 58d1bf39c5..e61882aafe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_79.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_79.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_8.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_8.plan
index 99620113b3..7bf225e3a5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_8.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_8.plan
@@ -1 +1,218 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_80.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_80.plan
index 58d1bf39c5..e61882aafe 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_80.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_80.plan
@@ -1 +1,101 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"row.col1\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E item.d And item.d \\u003C 110 Or item.d \\u003E 150 And item.a \\u003E item.b\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": "row.col1"
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c > item.d And item.d < 110 Or item.d > 150 And item.a > item.b"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_81.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_81.plan
index b68de0cf24..20340ea76f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_81.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_81.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col4 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col4 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_82.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_82.plan
index c8a4f6ee5f..fb46b6fd3e 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_82.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_82.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_83.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_83.plan
index 94118aeeff..5ce65e927a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_83.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_83.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_84.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_84.plan
index 94118aeeff..5ce65e927a 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_84.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_84.plan
@@ -1 +1,100 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003C= item.d - 2 Or item.c \\u003E= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.c <= item.d - 2 Or item.c >= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_85.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_85.plan
index 7265c84287..545abea84f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_85.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_85.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_86.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_86.plan
index 50ae533770..5008e1a64b 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_86.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_86.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130 Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130 Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_87.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_87.plan
index 0f27831336..1f78e24bdb 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_87.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_87.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_88.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_88.plan
index f41c5c2aae..b2adf51b0f 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_88.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_88.plan
@@ -1 +1,106 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col1 (Asc)\",\n \"col4 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col1 (Asc)",
+ "col4 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_89.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_89.plan
index 27b40ed651..2b02afcc27 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_89.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_89.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_9.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_9.plan
index b2a3026e88..f5ddaa2643 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_9.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_9.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col7 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col7 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_90.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_90.plan
index b385938399..2fb06674e3 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_90.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_90.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.e + item.d \\u003E= item.a + item.b - 10 And item.e + item.d \\u003C= item.c + 130\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.e + item.d >= item.a + item.b - 10 And item.e + item.d <= item.c + 130"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_91.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_91.plan
index 6a140adb2e..79a85387aa 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_91.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_91.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_92.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_92.plan
index 37edd3c192..9c69425c11 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_92.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_92.plan
@@ -1 +1,212 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col1 (Asc)\",\n \"col3 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TableFullScan",
+ "Operators": [
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col1 (Asc)",
+ "col3 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_93.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_93.plan
index 081c6fdd97..5097b0264c 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_93.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_93.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_94.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_94.plan
index b754200208..e67f0b977d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_94.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_94.plan
@@ -1 +1,219 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_95.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_95.plan
index aa09109632..3e8f3a9ca4 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_95.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_95.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_96.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_96.plan
index 9c4d38e7d0..f03aa7f8f5 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_96.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_96.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.d \\u003E item.e Or item.b \\u003E item.c\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col3 (Asc)\",\n \"col1 (Asc)\",\n \"col2 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.d > item.e Or item.b > item.c"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col3 (Asc)",
+ "col1 (Asc)",
+ "col2 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_97.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_97.plan
index 9c19330a07..b7d0c34ef6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_97.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_97.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_98.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_98.plan
index 9c19330a07..b7d0c34ef6 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_98.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_98.plan
@@ -1 +1,103 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.b \\u003E item.c Or item.d \\u003E item.e\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet",
+ "PlanNodeId": 4,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Filter-TableFullScan",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Filter",
+ "Predicate": "item.b > item.c Or item.d > item.e"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_99.plan b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_99.plan
index 99f24dfd0c..0c5e09661d 100644
--- a/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_99.plan
+++ b/ydb/tests/functional/suite_tests/canondata/test_sql_logic.TestSQLLogic.test_sql_suite_plan-select3-9.test_/query_99.plan
@@ -1 +1,223 @@
-"{\n \"meta\":\n {\n \"version\":\"0.2\",\n \"type\":\"query\"\n },\n \"tables\":[\n {\n \"name\":\"\\/Root\\/sqllogictest_select3-9.test_plan\\/t1\",\n \"reads\":\n [\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n },\n {\n \"type\":\"FullScan\",\n \"scan_by\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"columns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ]\n }\n ]\n }\n],\n \"Plan\":\n {\n \"Node Type\":\"Query\",\n \"PlanNodeType\":\"Query\",\n \"Plans\":\n [\n {\n \"Node Type\":\"ResultSet_1\",\n \"PlanNodeId\":13,\n \"PlanNodeType\":\"ResultSet\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Limit\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"Limit\"\n }\n ],\n \"PlanNodeId\":12,\n \"Plans\":\n [\n {\n \"Node Type\":\"Merge\",\n \"PlanNodeId\":11,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"TopSort-Aggregate\",\n \"Operators\":\n [\n {\n \"Limit\":\"1001\",\n \"Name\":\"TopSort\",\n \"TopSortBy\":\"\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":10,\n \"Plans\":\n [\n {\n \"Node Type\":\"Map\",\n \"PlanNodeId\":9,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Filter-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Filter\",\n \"Predicate\":\"item.c \\u003E= item.b - 2 And item.c \\u003C= item.d + 2 And item.c \\u003E item.d\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":8,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Broadcast\",\n \"PlanNodeId\":7,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"CTE Name\":\"tx_result_binding_1_0\",\n \"Node Type\":\"ConstantExpr\",\n \"Operators\":\n [\n {\n \"Iterator\":\"%kqp%tx_result_binding_0_0\",\n \"Name\":\"Iterator\"\n }\n ],\n \"PlanNodeId\":6\n }\n ]\n }\n ]\n }\n ],\n \"SortColumns\":\n [\n \"col6 (Asc)\",\n \"col4 (Asc)\",\n \"col5 (Asc)\",\n \"col2 (Asc)\",\n \"col3 (Asc)\",\n \"col1 (Asc)\"\n ]\n }\n ]\n }\n ]\n },\n {\n \"Node Type\":\"Precompute_0\",\n \"Parent Relationship\":\"InitPlan\",\n \"PlanNodeId\":4,\n \"PlanNodeType\":\"Materialize\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-Limit-Aggregate\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Limit\":\"1\",\n \"Name\":\"Limit\"\n },\n {\n \"Name\":\"Aggregate\"\n }\n ],\n \"PlanNodeId\":3,\n \"Plans\":\n [\n {\n \"Node Type\":\"UnionAll\",\n \"PlanNodeId\":2,\n \"PlanNodeType\":\"Connection\",\n \"Plans\":\n [\n {\n \"Node Type\":\"Aggregate-TableFullScan\",\n \"Operators\":\n [\n {\n \"Name\":\"Aggregate\"\n },\n {\n \"Name\":\"TableFullScan\",\n \"ReadColumns\":\n [\n \"a\",\n \"b\",\n \"c\",\n \"d\",\n \"e\"\n ],\n \"ReadRanges\":\n [\n \"a (-\u221e, +\u221e)\",\n \"b (-\u221e, +\u221e)\",\n \"c (-\u221e, +\u221e)\",\n \"d (-\u221e, +\u221e)\",\n \"e (-\u221e, +\u221e)\"\n ],\n \"Table\":\"sqllogictest_select3-9.test_plan\\/t1\"\n }\n ],\n \"PlanNodeId\":1,\n \"Tables\":\n [\n \"sqllogictest_select3-9.test_plan\\/t1\"\n ]\n }\n ]\n }\n ]\n }\n ],\n \"Subplan Name\":\"CTE tx_result_binding_0_0\"\n }\n ]\n }\n}" \ No newline at end of file
+{
+ "Plan": {
+ "Node Type": "Query",
+ "PlanNodeType": "Query",
+ "Plans": [
+ {
+ "Node Type": "ResultSet_1",
+ "PlanNodeId": 13,
+ "PlanNodeType": "ResultSet",
+ "Plans": [
+ {
+ "Node Type": "Limit",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "Limit"
+ }
+ ],
+ "PlanNodeId": 12,
+ "Plans": [
+ {
+ "Node Type": "Merge",
+ "PlanNodeId": 11,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "TopSort-Aggregate",
+ "Operators": [
+ {
+ "Limit": "1001",
+ "Name": "TopSort",
+ "TopSortBy": ""
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 10,
+ "Plans": [
+ {
+ "Node Type": "Map",
+ "PlanNodeId": 9,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Filter-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Filter",
+ "Predicate": "item.c >= item.b - 2 And item.c <= item.d + 2 And item.c > item.d"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 8,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Broadcast",
+ "PlanNodeId": 7,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "CTE Name": "tx_result_binding_1_0",
+ "Node Type": "ConstantExpr",
+ "Operators": [
+ {
+ "Iterator": "%kqp%tx_result_binding_0_0",
+ "Name": "Iterator"
+ }
+ ],
+ "PlanNodeId": 6
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "SortColumns": [
+ "col6 (Asc)",
+ "col4 (Asc)",
+ "col5 (Asc)",
+ "col2 (Asc)",
+ "col3 (Asc)",
+ "col1 (Asc)"
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Node Type": "Precompute_0",
+ "Parent Relationship": "InitPlan",
+ "PlanNodeId": 4,
+ "PlanNodeType": "Materialize",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-Limit-Aggregate",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Limit": "1",
+ "Name": "Limit"
+ },
+ {
+ "Name": "Aggregate"
+ }
+ ],
+ "PlanNodeId": 3,
+ "Plans": [
+ {
+ "Node Type": "UnionAll",
+ "PlanNodeId": 2,
+ "PlanNodeType": "Connection",
+ "Plans": [
+ {
+ "Node Type": "Aggregate-TableFullScan",
+ "Operators": [
+ {
+ "Name": "Aggregate"
+ },
+ {
+ "Name": "TableFullScan",
+ "ReadColumns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "ReadRanges": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "Table": "sqllogictest_select3-9.test_plan/t1"
+ }
+ ],
+ "PlanNodeId": 1,
+ "Tables": [
+ "sqllogictest_select3-9.test_plan/t1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "Subplan Name": "CTE tx_result_binding_0_0"
+ }
+ ]
+ },
+ "meta": {
+ "type": "query",
+ "version": "0.2"
+ },
+ "tables": [
+ {
+ "name": "/Root/sqllogictest_select3-9.test_plan/t1",
+ "reads": [
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ },
+ {
+ "columns": [
+ "a",
+ "b",
+ "c",
+ "d",
+ "e"
+ ],
+ "scan_by": [
+ "a (-\u221e, +\u221e)",
+ "b (-\u221e, +\u221e)",
+ "c (-\u221e, +\u221e)",
+ "d (-\u221e, +\u221e)",
+ "e (-\u221e, +\u221e)"
+ ],
+ "type": "FullScan"
+ }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/ydb/tests/functional/suite_tests/test_base.py b/ydb/tests/functional/suite_tests/test_base.py
index f1e2a120e9..08f9974bd3 100644
--- a/ydb/tests/functional/suite_tests/test_base.py
+++ b/ydb/tests/functional/suite_tests/test_base.py
@@ -198,7 +198,7 @@ def wrap_rows(rows):
def write_canonical_response(response, file):
output_path = os.path.join(yatest_common.output_path(), file)
with open(output_path, 'w') as w:
- w.write(json.dumps(response, indent=4))
+ w.write(json.dumps(response, indent=4, sort_keys=True))
return yatest_common.canonical_file(
local=True,
universal_lines=True,
@@ -349,7 +349,7 @@ class BaseSuiteRunner(object):
query_id = next(self.query_id)
query_name = "query_%d" % query_id
if self.plan:
- query_plan = self.explain(statement.text)
+ query_plan = json.loads(self.explain(statement.text))
self.files[query_name + '.plan'] = write_canonical_response(
query_plan,
query_name + '.plan',